build-helper-maven-plugin 是Maven 开源插件生态圈中org.codehaus.mojo 这个分组中的,这个分组是次要分组(二级分组);一级分组是org.apache.maven.plugins这一组。
Maven项目的约定
Maven默认只容许指定一个主[Java](http://lib.csdn.net/base/javase "Java SE知识库")代码目录和一个[测试](http://lib.csdn.net/base/softwaretest "软件测试知识库")Java代码目录。
多个源码目录
(例如为了应对遗留项目),build-helper-maven-plugin的add-source目标就是服务于这个目的,一般它被绑定到默认生命周期的generate-sources
阶段以添加额外的源码目录。须要强调的是,这种作法仍是不推荐的,由于它破坏了 Maven的约定,并且可能会遇到其余严格遵照约定的插件工具没法正确识别额外的源码目录。attach-artifact
,使用该目标你能够以classifier的形式选取部分项目文件生成附属构件,并同时install到本地仓库,也能够deploy到远程仓库。截止到目前,最新版本为1.8
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.8</version> </plugin>
该插件提供了多个目标,包括设置主源码目录、测试源码目录、主资源文件目录、测试资源文件目录
等。
如下简单说一下主资源文件目录、主源码目录的配置,其余设置大同小异,再也不一一讲述。html
配置实例
① 添加额外的源码路径java
<project> ... <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>some directory</source> //示例以下 <source>src/java/main</source> <source>../usermng-api/src/main/java</source> </sources> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
实例以下图所示:spring
能够看到打包usermng-springapi时属于usermng-api的com.wframe.*也打包进来了。apache
② 添加额外的测试源码路径api
<project> ... <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <id>add-test-source</id> <phase>generate-test-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>some directory</source> ... </sources> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
③ 添加额外的资源文件路径maven
<project> ... <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <id>add-resource</id> <phase>generate-resources</phase> <goals> <goal>add-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/my-resources</directory> <targetPath>my-resources</targetPath> <excludes> <exclude>**/junk/**</exclude> </excludes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
添加额外的测试资源文件路径使用方式同上,只是修改goal为add-test-resource。
工具
更多使用参考官网:https://www.mojohaus.org/buil...测试