MAVEN生命周期:
- validate
- generate-sources
- process-sources
- generate-resources
- process-resources 复制并处理资源文件,至目标目录,准备打包。
- compile 编译项目的源代码。
- process-classes
- generate-test-sources
- process-test-sources
- generate-test-resources
- process-test-resources 复制并处理资源文件,至目标测试目录。
- test-compile 编译测试源代码。
- process-test-classes
- test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
- prepare-package
- package 接受编译好的代码,打包成可发布的格式,如 JAR 。
- pre-integration-test
- integration-test
- post-integration-test
- verify
- install 将包安装至本地仓库,以让其它项目依赖。
- deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
打jar包时排除某些package
修改pom.xml,新增插件 maven-jar-plugin:
-- 排除哪些文件:
< plugin >
< groupId > org.apache.maven.plugins </ groupId >
< artifactId > maven-jar-plugin </ artifactId >
< version > 2.4 </ version >
< configuration >
< excludes >
< exclude > **/com/bcvet/** </ exclude >
</ excludes >
</ configuration > </ plugin >
-- 或只保留哪些文件:
< plugin >
< groupId > org.apache.maven.plugins </ groupId >
< artifactId > maven-jar-plugin </ artifactId >
< version > 2.4 </ version >
< configuration >
< includes >
< include > **/com/bcvetframework/** </ include >
</ includes >
</ configuration >
</ plugin >
MAVEN分模块打jar包
将项目 packaging改为pom:
< packaging > pom </ packaging >
在maven项目下新建module:
修改新建的module的pom.xml ,添加jar插件:
<build>
<sourceDirectory>../src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<includes>
<include>**/com/bcvet/base/**</include>
</includes>
</configuration>
</plugin>
</plugins>
<!--配置Maven 对resource文件 打包或过滤 -->
<resources>
<resource>
<directory>../src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.sql</include>
<include>**/*.ftl</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
去掉父级工程打包插件:
更新工程,打包:
update project
maven clean package
ECLIPSE编译发布注意点:
项目project clean后会自动编译发布到java build path定义的输出目录
maven compile会编译发布到pom中定义的output目录和target/classes里。
maven clean会删除pom中定义的output目录和target/classed目录