pom参数内容剖析(二)

2014-11-24 09:12:34 · 作者: · 浏览: 8
build设置:
defaultGoal:默认的目标,必须跟命令行上的参数相同,如:jar:jar,或者与时期parse相同,例如install
directory:指定build target目标的目录,默认为$(basedir}/target,即项目根目录下的target
finalName:指定去掉后缀的工程名字,例如:默认为${artifactId}-${version}
filters:用于定义指定filter属性的位置,例如filter元素赋值filters/filter1.properties,那么这个文件里面就可以定义name=value对,这个name=value对的值就可以在工程pom中通过${name}引用,默认的filter目录是${basedir}/src/main/fiters/
resources:描述工程中资源的位置
META-INF/plexus
false
${basedir}/src/main/plexus
configuration.xml
**/*.properties
targetPath:指定build资源到哪个目录,默认是base directory
filtering:指定是否将filter文件(即上面说的filters里定义的*.property文件)的变量值在这个resource文件有效,例如上面就指定那些变量值在configuration文件无效。
directory:指定属性文件的目录,build的过程需要找到它,并且将其放到targetPath下,默认的directory是${basedir}/src/main/resources
includes:指定包含文件的patterns,符合样式并且在directory目录下的文件将会包含进project的资源文件。
excludes:指定不包含在内的patterns,如果inclues与excludes有冲突,那么excludes胜利,那些符合冲突的样式的文件是不会包含进来的。
testResources:这个模块包含测试资源元素,其内容定义与resources类似,不同的一点是默认的测试资源路径是${basedir}/src/test/resources,测试资源是不部署的。
plugins配置:
org.apache.maven.plugins
maven-jar-plugin
2.0
false
true
test
...
...
extensions:true or false, 决定是否要load这个plugin的extensions,默认为true.
inherited:是否让子pom继承,ture or false 默认为true.
configuration:通常用于私有不开源的plugin,不能够详细了解plugin的内部工作原理,但使plugin满足的properties
dependencies:与pom基础的dependencies的结构和功能都相同,只是plugin的dependencies用于plugin,而pom的denpendencies用于项目本身。在plugin的dependencies主要用于改变plugin原来的dependencies,例如排除一些用不到的dependency或者修改dependency的版本等,详细请看pom的denpendencies.
executions:plugin也有很多个目标,每个目标具有不同的配置,executions就是设定plugin的目标,
echodir
run
verify
false
Build Dir: ${project.build.directory}
id:标识符
goals:里面列出一系列的goals元素,例如上面的run goal
phase:声明goals执行的时期,例如:verify
inherited:是否传递execution到子pom里。
configuration:设置execution下列表的goals的设置,而不是plugin所有的goals的设置
pluginManagement配置:
pluginManagement的作用类似于denpendencyManagement,只是denpendencyManagement是用于管理项目jar包依赖,pluginManagement是用于管理plugin。与pom build里的plugins区别是,这里的plugin是列出来,然后让子pom来决定是否引用。
例如:
org.apache.maven.plugins
maven-jar-plugin
2.2
pre-process-classes
compile
jar
pre-process
子pom引用方法:
在pom的build里的plugins引用:
org.apache.maven.plugins
maven-jar-plugin
build里的directories:
${basedir}/src/main/java
<scriptSourceDirectory>${basedir}/src/main/scripts
${basedir}/src/test/java
${basedir}/target/classes
${basedir}/target/t