常用Maven插件介绍

  categories:资料  tags:  author:

Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由 maven-compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven-compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于 src/test/java/目录下的测试源码。

用户可以通过两种方式调用Maven插件目标。第一种方式是将插件目标与生命周期阶段 (lifecycle phase)绑定,这样用户在命令行只是输入生命周期阶段而已,例如Maven默认将maven-compiler-plugin的compile目标与 compile生命周期阶段绑定,因此命令mvn compile实际上是先定位到compile这一生命周期阶段,然后再根据绑定关系调用maven-compiler-plugin的compile目 标。第二种方式是直接在命令行指定要执行的插件目标,例如mvn archetype:generate 就表示调用maven-archetype-plugin的generate目标,这种带冒号的调用方式与生命周期无关。

认识上述 Maven插件的基本概念能帮助你理解Maven的工作机制,不过要想更高效率地使用Maven,了解一些常用的插件还是很有必要的,这可 以帮助你避免一不小心重新发明轮子。多年来Maven社区积累了大量的经验,并随之形成了一个成熟的插件生态圈。Maven官方有两个插件列表,第一个列 表的GroupId为org.apache.maven.plugins,这里的插件最为成熟,具体地址 为:http://maven.apache.org/plugins/index.html。第二个列表的GroupId为 org.codehaus.mojo,这里的插件没有那么核心,但也有不少十分有用,其地址为:http://mojo.codehaus.org /plugins.html。

部分插件列表

Core plugins
clean
compiler
deploy
failsafe
install
resources
site
surefire
verifier

Packaging types/tools
ear
ejb
jar
rar
war
app-client/acr
shade
source… 阅读全文

maven根据profile中定义的环境变量打包的设置

  categories:资料  tags:  author:

一个项目里总会有很多配置文件。而且一般都会有多套环境。开发的、测试的、正式的。而在这些不同的环境这些配置的值都会不一样。比如mail的配置、服务的url配置这些都是很常见的。所以在打包的时候就要根据environment来选不同的值或者配置文件。

比较常用的办法就是为不同的环境建立不同的配置文件目录。在打包的时候用对应的文件目录下的配置文件。

|-- resources
 |   |-- dev
 |   |-- product
 |   |-- qa
 |   `-- qa53

以前用ant的时候打包的时候处理就比较方便。打包前copy一下对应目录下的配置文件覆盖target下的那些文件再打包就可以了。在刚开始用 maven的时候就想要怎么解决,一直没有找到ant的这种方式的可行的办法。其实主要是按ant这种处理方法去思考了。只去想没有有cp这种 target。其实在maven里用profile就可以解决了。对于不同的environment定义不同的profile就ok了,目录结构还是沿用 原来的就可以。

在pom.xml里定义一个变量

<properties>
 ......
 <package.environment>qa53</package.environment>
 </properties>

这里定义的值是经常打包的一个profile,方便少敲点代码。然后定义一些profile

<profiles>
 <profile>
 <id>product</id>
 <properties>
 <package.environment>product</package.environment>
 </properties>
 </profile>
 <profile>
 <id>dev</id>
 <properties>
 <package.environment>dev</package.environment>
 </properties>
 </profile>
 <profile>
 
阅读全文


快乐成长 每天进步一点点