Maven插件之build-helper-maven-plugin2014-03-29 csdn wangjunjun2008把原有项目添加到Maven管理时,总会出现很多莫名奇妙的问题,其中之一便是Maven默认的项目结构 和自己的项目结构不一致,导致无法编译源代码,更不用说部署、运行项目了。Java程序开发,一般使用Eclipse、MyEclipse等工具,其源码目录为src,这与Maven默认的 src/main/java不同。因此,在没有额外配置的情况下,使用Maven命令无法完成代码的编译。针对这种情况,codehaus提供了build-helper-maven-plugin插件来支持自定义的项目目录结构(相对 于Maven默认目录结构来说)。该插件官网:http://mojo.codehaus.org/build-helper-maven-plugin/截止到目前(2013-12-25),最新版本为1.8
<plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>1.8</version></plugin>
该插件提供了多个目标,包括设置主源码目录、测试源码目录、主资源文件目录、测试资源文件目录 等。以下简单说一下主资源文件目录、主源码目录的配置,其他设置大同小异,不再一一讲述。直接上代码,说明全部在注释中。
<!-- 设置多个源文件夹 --><plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>1.8</version><executions><!-- 添加主资源文件目录 --><execution><!--自定义名称,不可重复--><id>add-resource</id><!--指定绑定到生命周期--><phase>initialize</phase><!--指定指定的目标,可添加多个--><goals><goal>add-resource</goal></goals><configuration><resources><!--资源文件目录,可添加多个--><resource><directory>${basedir}/src/main/one</directory><!--是否启用变量过滤--><filtering>true</filtering><!--排除的文件,可添加多个--><excludes><exclude>**/*.java</exclude></excludes></resource><resource><directory>${basedir}/src/main/two</directory><filtering>true</filtering><excludes><exclude>**/*.java</exclude></excludes></resource></resources></configuration></execution><!-- 添加主源码目录 --><execution><id>add-source</id><phase>initialize</phase><goals><goal>add-source</goal></goals><configuration><sources><source>${basedir}/src/main/three</source><source>${basedir}/src/main/four</source></sources></configuration></execution><!-- 添加测试源码目录 --><execution><id>add-test-source</id><phase>initialize</phase><goals><goal>add-test-source</goal></goals><configuration><sources><source>${basedir}/src/main/five</source><source>${basedir}/src/main/six</source></sources></configuration></execution></executions></plugin>
添加以上配置之后,执行Maven命令 compile即可对源代码进行编译了。