`

Maven步步为营(二)POm

 
阅读更多

创建私服nexus

1, 下载并解压zip,http://nexus.sonatype.org/downloads

2, 启动:D:\nexus-2.7.1-01-bundle\nexus-2.7.1-01\bin\jsw\windows-x86-64

3, 访问http://localhost:8081/nexus, 登录<admin,admin123>, 

可以管理nexus内置的仓库(够用),也可以创建自己的

 

maven在setting.xml里配置私服后,会自动下载到私服,再到本地仓库

D:\nexus-2.7.1-01-bundle\sonatype-work\nexus\storage\central\org\springframework

D:\repo\org\springframework

 

总结:

1, plugin扩展机制,好!

几乎每个mvn命令都对应一个plugin,在D:\repo\org\apache\maven\plugins目录下。

比如:maven-compiler-plugin, maven-jar-plugin, maven-surefire-plugin...

2, 项目(对应一个jar)下载或者安装到Maven本地仓库后,其他项目才能使用!!!!!!!!!!!!!!!

 

Maven生命周期,从大量项目和构建工具中学习反思,对构建过程的抽象:

项目的各个阶段phase:清理,初始化,编译(maven-compiler-plugin),测试(maven-surefire-plugin),打包,集成测试,验证,部署,站点生成。

抽象,意味着不做实际工作(交给插件完成比如),类似设计模式中的模板方法

validate验证项目是否正确,以及所有为了完整构建必要的信息是否可用

generate-sources生成所有需要包含在编译过程中的源代码

process-sources处理源代码,比如过滤一些值

generate-resources生成所有需要包含在打包过程中的资源文件

process-resources复制并处理资源文件至目标目录,准备打包

compile编译项目的源代码

process-classes后处理编译生成的文件,例如对Java类进行字节码增强(bytecode enhancement)

generate-test-sources生成所有包含在测试编译过程中的测试源码

process-test-sources处理测试源码,比如过滤一些值

generate-test-resources生成测试需要的资源文件

process-test-resources复制并处理测试资源文件至测试目标目录

test-compile编译测试源码至测试目标目录

test使用合适的单元测试框架运行测试。这些测试应该不需要代码被打包或发布

prepare-package在真正的打包之前,执行一些准备打包必要的操作。这通常会产生一个包的展开的处理过的版本(将会在Maven 2.1+中实现)

package将编译好的代码打包成可分发的格式,如JAR,WAR,或者EAR

pre-integration-test执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境

integration-test如果有必要的话,处理包并发布至集成测试可以运行的环境

post-integration-test执行一些在集成测试运行之后需要的动作。如清理集成测试环境。

verify执行所有检查,验证包是有效的,符合质量规范

install安装包至本地仓库,以备本地的其它项目作为依赖使用

deploy复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正式的发布相关)

 

 

项目聚合: 一次命令构建两个项目

<project...>

<modelVersion>4.0.0</modelVersion>

<groupId>com.juvenxu.mvnbook.account</groupId>

<artifactId>account-aggregator</artifactId>

<version>1.0.0-SNAPSHOT</version>

<packaging>pom</packaging>//聚合必须为pom,否则无法构建

<name>Account Aggregator</name>

<modules>

<module>account-email</module>

<module>account-persist</module>

</modules>

</project>

 

项目继承:继承父pom的配置

可继承的元素:groupId,version...dependencies,build. 不可继承的元素:artifactId

<parent>

<groupId>com.juvenxu.mvnbook.account</groupId>

<artifactId>account-parent</artifactId>

<version>1.0.0-SNAPSHOT</version>

<relativePath>../account-parent/pom.xml</relativePath>

</parent>

<artifactId>account-email</artifactId>

<name>Account Email</name>

注意:可能给未来的子项目引入不必要的依赖。故,一般最好只继承version,scope

 

反应堆(多个模块组成的一个构建过程)构建顺序

Reactor Build Order:

Account Parent

Account Email

Account Persist

Account Aggregator

剪裁反应堆: mvn install -pl account-email, account-persist //只构建这两个项目

 

 

超级POM(类似Object类)

%MAVEN_HOME%/lib/maven-model-builder-x.x.x.jar\org\apache\maven\model/pom-4.0.0.xml

预定义了:仓库<repositories>,插件仓库<pluginRepositories>,<build>,<profiles>

 

com.google.code.kaptcha:kaptcha:jar:jdk15:2.3  这个不在中央仓库中,需要自己添加代理仓库-->仓库组。

 

指定某个测试类,需要进入当前项目下,不可以在父目录中。

mvn test -Dtest=RandomGeneratorTest

 

//测试覆盖率报告,在targer/site/cobertura/index.html

D:\workspace\account-parent\account-captcha>mvn cobertura:cobertura

 

 

hudson

持续集成CI(Continuous Integration)

稍等hudson启动

C:\Users\river\Downloads>java -jar hudson-3.1.2.war

 

 

纯java打war包

1、D:\workspace\wnjWeb>jar cvf wnjWeb.war *.*

2、将war文件拷贝到tomcat\webapps\下,(将必要的jar文件拷贝到tomcat\lib??)

3、D:\study\apache-tomcat-7.0.52\bin>startup.bat

4、打开浏览器访问http://localhost:8080/wnjWeb/hello

分享到:
评论

相关推荐

    Maven build之pom.xml文件中的Build配置

    Maven通过一个叫做pom.xml的项目对象模型文件来配置项目构建的各个方面,其中标签是Maven构建配置的核心部分,它定义了整个构建生命周期中需要执行的指令和任务。 Maven构建包括编译代码、执行测试、打包以及部署等...

    maven配置文件pom.xml

    maven配置文件pom.xml

    maven项目pom.xml中parent标签的使用.docx

    "Maven 项目 pom.xml 中 parent 标签的使用" Maven 项目 pom.xml 文件中的 parent 标签是 Maven 项目管理依赖的核心组件之一。parent 标签的使用可以简化项目间的依赖管理,使得项目结构更加清晰、易于维护。 ...

    maven的本地仓库配置文件settings.xml和项目中文件pom.xml.zip

    二、Myeclipse关联的maven本地仓库配置文件settings.xml (1)可自定义文件名 D:\developsoft\javaweb\commonPlugins\maven\apache-maven-3.8.1_first\conf\settings_Myeclipse1.xml 三、3个可单独使用的,maven项目...

    springmvc spring mybatis maven 项目管理pom文件

    springmvc spring mybatis maven 项目管理pom文件

    maven jar包直接根据pom下载

    "maven jar包直接根据pom下载"这一主题涉及的是如何利用Maven的特性,通过修改POM(Project Object Model)文件来自动下载项目所需的jar包。 POM.xml是Maven项目的配置文件,它定义了项目的结构、依赖、插件和其他...

    eclipse安装maven插件,处理无Maven Pom editor打开方式问题

    在Eclipse中安装Maven插件,可以方便开发者在IDE内进行Maven项目的操作,解决无法用Maven Pom editor打开pom.xml文件的问题。以下是对这个主题的详细说明: 1. **Maven Pom Editor**: Maven的pom.xml文件是项目...

    maven配置文件pom

    pom.xml配置文件,包含数据库,仓库地址配置等等

    maven项目的pom文件

    这是maven管理的动态web项目的pom.xml配置文件,里面有ssm框架需要用到的jar包依赖

    maven项目的pom.xml

    maven项目的pom.xm,非常齐全,所需的各种jar包都有,的观点观点和额u好肚饿好肚饿的呢就好的好肚饿的好的u好肚饿

    史上最全的maven的pom.xml文件详解

    史上最全的Maven的Pom.xml文件详解 Maven是Java领域最流行的构建工具之一,其核心配置文件是Pom.xml。在Pom.xml文件中,我们可以定义项目的基本信息、依赖关系、构建过程、测试环境等。下面,我们将详细解析Pom.xml...

    maven的常用pom

    这个pom文件中用一些SSM开发中常用的依赖jar,可以供初学者采纳。

    Maven的pom.xml配置文件详细配置说明

    Maven的pom.xml配置文件详细配置说明 &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...

    Maven项目中pom文件全面讲解

    全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件 全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件

    maven中pom.xml基本配置

    在Java开发领域,Maven是一个不可或缺的项目管理工具,它通过使用一个名为pom.xml的配置文件来管理和构建项目。pom.xml文件是Maven项目的灵魂,它包含了项目的元数据,如项目信息、依赖关系、构建配置等。下面我们将...

    maven项目pom.xml最详细配置

    maven的pom.xml的最详细配置,内含pom的依赖、jdk配置等

    maven pom.xml

    maven pom.xml详解

    【Maven】Maven POM配置详解 - CSDN博客1

    Maven POM配置详解 Maven 项目的核心是 pom.xml,POM(project object model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,如何声明依赖等等。下面是 pom 文件中各个标签的用法和含义: 1. `...

    maven项目中pom.xml配置文件

    maven项目中pom.xml配置文件,包含常用的mybatis,log4j,jdk,mysql连接等依赖

    maven SSM项目pom.xml

    maven搭建ssm框架标准文档&lt;!-- 依赖管理 版本号 --&gt; &lt;!-- 设置统一依赖管理、不强行依赖 --&gt;

Global site tag (gtag.js) - Google Analytics