Maven pom文件常用配置小结_linux常用配置文件
Maven pom文件常用配置小结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“linux常用配置文件”。
Maven pom文件常用配置小结
什么是POM Project Object Model,项目对象模型。通过xml格式保存的pom.xml文件。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。
一个完整的pom.xml文件,放置在项目的根目录下。
4.0.0 …
…
…
… …
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
… …
…
…
… 基本设置
maven的协作相关属性
4.0.0 org.codehaus.mojo my-project 1.0
war 1.groupId : 组织标识,例如:org.codehaus.mojo,在M2_REPO目录下,将是: org/codehaus/mojo目录。
2.artifactId : 项目名称,例如:my-project,在M2_REPO目录下,将是:org/codehaus/mojo/my-project目录。
3.version : 版本号,例如:1.0,在M2_REPOorg/codehaus/mojo/my-project/1.0目录。
4.packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par POM之间的关系
目录下,将是:主要用于POM文件的复用。
依赖关系:依赖关系列表(dependency list)是POM的重要部分。
junit junit 4.0 test …
1.groupId , artifactId , version : 2.scope : compile(default),provided,runtime,test,system 3.exclusions 继承关系:继承其他pom.xml配置的机制。比如父pom.xml:
[...] junit junit 4.4 test [...] 在子pom.xml文件继承它的依赖(还可以继承其他的:developers and contributors、plugin lists、reports lists、plugin executions with matching ids、plugin configuration): [...]
com.devzuz.mvnbook.proficio proficio 1.0-SNAPSHOT [...] 在这种机制下,maven还提供了一个类似java.lang.Object的顶级父pom.xml文件:
4.0.0 Maven Default Project central Maven Repository Switchboard default http://repo1.maven.org/maven2 false
central Maven Plugin Repository http://repo1.maven.org/maven2 default false never target target/claes ${project.artifactId}-${project.version} target/test-claes src/main/java src/main/scripts src/test/java src/main/resources src/test/resources
maven-antrun-plugin 1.1
maven-aembly-plugin 2.2-beta-2
maven-clean-plugin 2.2
maven-compiler-plugin 2.0.2
maven-dependency-plugin 2.0
maven-deploy-plugin 2.3
maven-ear-plugin 2.3.1
maven-ejb-plugin 2.1
maven-install-plugin 2.2
maven-jar-plugin 2.2
maven-javadoc-plugin 2.4
maven-plugin-plugin 2.4.1
maven-rar-plugin 2.2
maven-release-plugin 2.0-beta-7
maven-resources-plugin 2.2
maven-site-plugin 2.0-beta-6
maven-source-plugin 2.0.4
maven-surefire-plugin 2.4.2
maven-war-plugin 2.1-alpha-1 target/site
release-profile
performRelease true
true org.apache.maven.plugins maven-source-plugin attach-sources jar
true org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar
true org.apache.maven.plugins maven-deploy-plugin true 可以通过下面命令查看当前pom.xml受到超pom.xml文件的影响: mvn help:effective-pom 聚合关系:用于将多个maven项目聚合为一个大的项目。
4.0.0 org.codehaus.mojo my-parent 2.0 my-project 属性
maven的属性,是值的占位符,类似EL,类似ant的属性,比如${X},可用于pom文件任何赋值的位置。有以下分类:
1.env.X:操作系统环境变量,比如${env.PATH} 2.project.x3.settings.x::
pom
文
件文
中件的中
属的性属,性引,用
比比方
如如式
:::
1.0,引用方式:${project.version}
settings.xmlfalse${settings.offline} 4.Java System Properties:java.lang.System.getProperties()中的属性,比如java.home,引用方式:${java.home} 5.自定义
:
在pom
文
件
中
可
以
:
c:/apps/cargo-installs,引用方式:${installDir} 构建设置
构建有两种build标签:
…
…
…
build中的主要标签:Resources和Plugins。Resources:用于排除或包含某些资源文件
META-INF/plexus false ${basedir}/src/main/plexus configuration.xml **/*.properties Plugins:设置构建的插件 …
org.apache.maven.plugins maven-jar-plugin 2.0 false true test …
…