1.仓库的布局
任何一个构件都有唯一的坐标,根据坐标可以定义在其仓库中的唯一存储路径,这是mvaen的仓库布局方式。如:log4j:其对应的仓库路径为log4j/log4j/1.2.15/log4j-1.2.15.jar,细心的读者可以观察到,该路i你个与坐标大致的对应关系为groupId/artifactId/version/artifactId-version.parkaging.
2.maven仓库分类
maven仓库分为两类:本地仓库和远程仓库。
jboss Maven库:http://repository.jboss.com/maven2/
3.私服好处:
a.节省外网带宽
b.加速maven构建
c.部署第三方构件
d.提高稳定性,增强控制
e.降低中央库负荷
4.远程仓库更新配置
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<checkumPolicy>ignore</checkumPolicy>
</snapshots>
a.checkumPolicy配置maven远程仓库更新的频率,默认是daily,表示每天检查一次。
never一次不检查更新
always每次构建都检查更新
interval X——每隔X分钟检查一次更新(X为任意整数)
b.checkumPolicy 的默认值为warn时,maven会在执行构建时输出警告信息。
fail 遇到验证和错误就让构建失败
ignore 是maven完全忽略校验和错误
5.仓库搜索服务nexus
https://repository.sonatype.org/
http://search.maven.org/
第七章
1.maven生命周期包含了项目的清理,初始化,编译,测试,打包,集成测试,验证,部署和站点生成等所有构建步骤
2.maven拥有三套相互独立的生命周期,分别是clean,default和site
clean生命周期的目的是清理项目
包含3个阶段:
1).pre-clean 执行一些清理前需要完成工作
2).clean 清理上一次构建生成文件
3).post-clean 执行一些清理后需要完成的工作
default生命周期的目的是构建项目
validate
initalize
generate-sources
process-sources
处理项目主资源文件。一般来说,是对src/main/resources目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中
generate-resources
process-resources
compile
编译项目的主源码。一般来说,是便宜src/main/java目录下的java文件至目输出的主classpath目录中
process-classes
generate-test-sources
process-test-source
处理项目测试资源文件,一般来说,是对src/test/reasources目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中
generate-test-resources
process-test-resources
test-compile 编译项目的主源码。一般来说,是便宜src/test/java目录下的java文件至目输出的主classpath目录中
process-test-classes
test 使用单元测试框架运行测试,测试代码不会被打包或部署
prepare-package
package 接受编译好的代码,打包成可发布的格式,如jar,war
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装到本地仓库,供本地其他maven项目使用
deploy 将最终的包复制到远程仓库,供其他开发人员和maven项目使用
site生命周期的目的是建立项目站点
pre-site 执行一些在生成项目站点之前需要完成的工作
site 生成项目站点文档
post-site 执行一些生成项目站点之后需要完成的工作
site-deploy 将生成的项目站点发布到服务器上
详情参见http://maven.apache.org/guides/index.html
mvn clean:该命令用clean生命周期的clean阶段,实际执行的阶段为clean生命周期的pre-clean和clean阶段。
mvn
test:该命令调用default生命周期的test阶段,实际执行的阶段为default生命周期validate,initialize等,直到test的所有阶段。这也解释了为什么执行测试的时候,项目的代码能够自动得以编译。
mvn clean
install:该命令调用clean生命周期的clean阶段和default生命周期阶段的install阶段。实际执行的阶段为clean生命周期的pre-clean,clean阶段,以及default生命周期的从validate至install
的所有阶段。该命令结合了两个生命周期,在执行真正的项目构建之前清理项目是一个很好的习惯
mvn clean deploy
site-deploy:改命令调用clean生命周期的clean阶段,default生命周期的deploy阶段,以及site生命周期的site-deploy阶段。实际执行的阶段为clean生命周期的pre-clean,clean阶段,default生命周期
的所有阶段,以及site生命周期的所有阶段。改命令结合了maven所有三个生命周期,且deploy为default生命周期的最后一个阶段,site-deploy为生命周期的最后一个阶段
任何一个构件都有唯一的坐标,根据坐标可以定义在其仓库中的唯一存储路径,这是mvaen的仓库布局方式。如:log4j:其对应的仓库路径为log4j/log4j/1.2.15/log4j-1.2.15.jar,细心的读者可以观察到,该路i你个与坐标大致的对应关系为groupId/artifactId/version/artifactId-version.parkaging.
2.maven仓库分类
maven仓库分为两类:本地仓库和远程仓库。
jboss Maven库:http://repository.jboss.com/maven2/
3.私服好处:
a.节省外网带宽
b.加速maven构建
c.部署第三方构件
d.提高稳定性,增强控制
e.降低中央库负荷
4.远程仓库更新配置
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<checkumPolicy>ignore</checkumPolicy>
</snapshots>
a.checkumPolicy配置maven远程仓库更新的频率,默认是daily,表示每天检查一次。
never一次不检查更新
always每次构建都检查更新
interval X——每隔X分钟检查一次更新(X为任意整数)
b.checkumPolicy 的默认值为warn时,maven会在执行构建时输出警告信息。
fail 遇到验证和错误就让构建失败
ignore 是maven完全忽略校验和错误
5.仓库搜索服务nexus
https://repository.sonatype.org/
http://search.maven.org/
第七章
1.maven生命周期包含了项目的清理,初始化,编译,测试,打包,集成测试,验证,部署和站点生成等所有构建步骤
2.maven拥有三套相互独立的生命周期,分别是clean,default和site
clean生命周期的目的是清理项目
包含3个阶段:
1).pre-clean 执行一些清理前需要完成工作
2).clean 清理上一次构建生成文件
3).post-clean 执行一些清理后需要完成的工作
default生命周期的目的是构建项目
validate
initalize
generate-sources
process-sources
处理项目主资源文件。一般来说,是对src/main/resources目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中
generate-resources
process-resources
compile
编译项目的主源码。一般来说,是便宜src/main/java目录下的java文件至目输出的主classpath目录中
process-classes
generate-test-sources
process-test-source
处理项目测试资源文件,一般来说,是对src/test/reasources目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中
generate-test-resources
process-test-resources
test-compile 编译项目的主源码。一般来说,是便宜src/test/java目录下的java文件至目输出的主classpath目录中
process-test-classes
test 使用单元测试框架运行测试,测试代码不会被打包或部署
prepare-package
package 接受编译好的代码,打包成可发布的格式,如jar,war
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装到本地仓库,供本地其他maven项目使用
deploy 将最终的包复制到远程仓库,供其他开发人员和maven项目使用
site生命周期的目的是建立项目站点
pre-site 执行一些在生成项目站点之前需要完成的工作
site 生成项目站点文档
post-site 执行一些生成项目站点之后需要完成的工作
site-deploy 将生成的项目站点发布到服务器上
详情参见http://maven.apache.org/guides/index.html
3.命令与生命周期
mvn clean:该命令用clean生命周期的clean阶段,实际执行的阶段为clean生命周期的pre-clean和clean阶段。
mvn
test:该命令调用default生命周期的test阶段,实际执行的阶段为default生命周期validate,initialize等,直到test的所有阶段。这也解释了为什么执行测试的时候,项目的代码能够自动得以编译。
mvn clean
install:该命令调用clean生命周期的clean阶段和default生命周期阶段的install阶段。实际执行的阶段为clean生命周期的pre-clean,clean阶段,以及default生命周期的从validate至install
的所有阶段。该命令结合了两个生命周期,在执行真正的项目构建之前清理项目是一个很好的习惯
mvn clean deploy
site-deploy:改命令调用clean生命周期的clean阶段,default生命周期的deploy阶段,以及site生命周期的site-deploy阶段。实际执行的阶段为clean生命周期的pre-clean,clean阶段,default生命周期
的所有阶段,以及site生命周期的所有阶段。改命令结合了maven所有三个生命周期,且deploy为default生命周期的最后一个阶段,site-deploy为生命周期的最后一个阶段