6.2. Maven插件推荐

6.2.1. Maven Jetty Plugin

开发在eclipse开发web服务,测试比较麻烦,例如以前使用resin启动服务,除了配置,还需要copy工程,更大的问题在于,你修改了java了,需要重新打包发布,然后重新启动resin。使用这个插件可以减少你的工作量,他使用轻量级的jetty作为web服务器,只需要在工程下输入:maven jetty:run 他就会自动帮你部署启动服务,并且他可以检测java类的变化,自动重启服务,帮你减少很多工作量。对于web开发者来说,你一定会喜欢上这个插件的。详情和配置参见:[http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin](http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin)

6.2.2. Maven Dependency Plugin

maven工程依赖分析插件,能后很好分析工程依赖问题,主要解决依赖冲突问题,这个复杂工程里面非常头痛的问题。这个插件包含很多命令,可以帮你避免依赖问题,值得一试。

详情和配置参见:<http://maven.apache.org/plugins/maven-dependency-plugin/>

6.2.3. Maven Compiler Plugin

maven 编译插件,设置编译参数,打包配置等,非常有用。详情和配置参见:<http://maven.apache.org/plugins/maven-compiler-plugin/>

6.2.4. Maven AppAssembler Plugin

参考: http://mojo.codehaus.org/appassembler/appassembler-maven-plugin/

这个插件可以在maven package过程中,自动生成启动java程序的shell脚本,省去手工写java命令和管理依赖包的问题。 配置例子:

<plugin>

<groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.1.1</version> <executions>

<execution>

<id>make-assembly</id> 插件会在maven package阶段运行 <phase>package</phase> <goals>

<goal>assemble</goal>

</goals>

</execution>

</executions> <configuration>

配置文件放置位置 <configurationDirectory>conf</configurationDirectory> <configurationSourceDirectory>src/main/conf</configurationSourceDirectory> <copyConfigurationDirectory>true</copyConfigurationDirectory> <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>

依赖库放置位置 <repositoryLayout>flat</repositoryLayout> <repositoryName>lib</repositoryName>

生成目录结构的位置 <assembleDirectory>${project.build.directory}/${project.name}-${project.version}</assembleDirectory>

支持平台,脚本后缀等,默认还会产生win的bat脚本
<binFileExtensions>

<unix>.sh</unix>

</binFileExtensions> <platforms>

<platform>unix</platform>

</platforms>

<programs>
<program>
指定脚本的名字和入口是那个类,需要保证这个类有main函数 <mainClass>com.xxxx.Main</mainClass> <name>Main</name>

</program>

</programs>

</configuration>

</plugin>