build-helper-maven-plugin 插件主要的作用就是用来指定额外的源码路径和资源路径。它总共有15个goal:
- build-helper:add-source Add more source directories to the POM.
- build-helper:add-test-source Add test source directories to the POM.
- build-helper:add-resource Add more resource directories to the POM.
- build-helper:add-test-resource Add test resource directories to the POM.
- build-helper:attach-artifact Attach additional artifacts to be installed and deployed.
- build-helper:maven-version Set a property containing the current version of maven.
- build-helper:parse-version Set properties containing the parsed components of a version string.
- build-helper:regex-property Sets a property by applying a regex replacement rule to a supplied value.
- build-helper:regex-properties Sets a property by applying a regex replacement rule to a supplied value.
- build-helper:released-version Resolve the latest released version of this project.
- build-helper:remove-project-artifact Remove project's artifacts from local repository.
- build-helper:reserve-network-port Reserve a list of random and unused network ports.
- build-helper:local-ip Retrieve current host IP address.
- build-helper:cpu-count Retrieve number of available CPU.
- build-helper:timestamp-property Sets a property based on the current date and time.
这里重点介绍一下attach-artifact这个goal,它的作用就是在安装或部署artifact的时候,附加的安装或部署一些其他资源或文件。
要使用 build-helper-maven-plugin,首先添加插件声明:
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.9</version> </plugin> </plugins> </build>
然后和其他插件一样,定义它的phase和goal。
attach-artifact默认的phase是package:
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.8</version> <executions> <execution> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
剩下的就是configuratino配置了。
attach-artifact可用的配置如下:
必选
artifacts | Artifact[] | 1.0 | Attach an array of artifacts to the project. |
可选
basedir | String | 1.5 | This project's base directory. Default value is: ${basedir}. |
runOnlyAtExecutionRoot | boolean | 1.5 | This will cause the execution to be run only at the top of a given module tree. That is, run in the project contained in the same folder where the mvn execution was launched. Default value is: false. User property is: buildhelper.runOnlyAtExecutionRoot. |
skipAttach | boolean | 1.6 | This allows to skip the attach execution in case it is known that the corresponding file does not exists. For exemple, when the previous ant-run task is skipped with a unless. Default value is: false. User property is: buildhelper.skipAttach. |
这里只有artifacts是必选的;artifacts的说明如下:
- Type: org.codehaus.mojo.buildhelper.Artifact[]
- Since: 1.0
- Required: Yes
其中的每个artifact是类型org.codehaus.mojo.buildhelper.Artifact。根据Artifact Doc说明,它只有三个可配置项:
- file:指定欲附加的文件
- type:指定文件类型
- classifier:指定文件的附属信息
最后生成的文件名会是:
${artifactId}-${version}-${classifier}.${type}
例如,想在安装或部署的时候附加 etc/a.properties 文件,则配置如下:
<configuration> <artifacts> <artifact> <file>etc/a.properties</file> <type>properties</type> <classifier>org.liugang.settings</classifier> </artifact> </artifacts> </configuration>
假设当前pom的groupId/artifactId/version为: org.liugang.maven.resources/BuilderHelperTester/0.0.1-SNAPSHOT
则运行完 mvn clean install 之后,到本地Maven库的目录:
${M2Repository}\org\liugang\maven\resources\BuilderHelperTester\0.0.1-SNAPSHOT
下就可以看到除了生成对应的jar文件,还会生成一个文件:
BuilderHelperTester-0.0.1-SNAPSHOT-org.liugang.settings.properties
这个文件的内容即 etc/a.properties 里的内容。
然后如果要引用这个properties文件,需要指定具体的type和classifier,例如:
<groupId>org.liugang.maven.resources</groupId> <artifactId>BuilderHelperTester</artifactId> <version>0.0.1-SNAPSHOT</version> <type>properties</type> <classifier>org.liugang.settings</classifier>
像在karaf里就可以通过这种方式读取一些bundle的额外设置:
<configfile finalname="/etc/org.liugang.settings.cfg">mvn:org.liugang.maven.resources/BuilderHelperTester/0.0.1-SNAPSHOT/properties/org.liugang.settings</configfile>
其中路径的格式为:
mvn:${groupId}/${artifactId}/${version}/${type}/${classifier}
相关推荐
`build-helper-maven-plugin-0.15.0`是Maven生态系统中一个强大的工具,它通过提供额外的构建辅助功能,帮助开发者灵活地管理项目结构,解决一些特殊场景下的构建问题。正确使用这个插件,可以显著提高Java项目的...
java运行依赖jar包
jar包,亲测可用
java运行依赖jar包
1. **依赖管理**:Maven使用一个中央仓库来管理项目所需的所有依赖,简化了依赖的解析和传递。 2. **项目信息管理**:Maven通过`pom.xml`文件(Project Object Model)来描述项目的基本设置,包括项目依赖、构建配置...
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
开发者只需要在 IDEA 插件市场中搜索 Maven Helper,然后安装并重启 IDEA 就可以开始使用。需要注意的是,在国内网络连接 JetBrains 服务器可能会比较慢,需要使用代理服务器来加速安装过程。 5. Dependency ...
jar包,亲测可用
git commit id插件与https://fisheye.codehaus.org/browse/mojo/tags/buildNumber-maven-plugin-1.0-beta-4非常相似,但是作为buildNumber,在我启动这个插件时,它只支持cvs和svn,必须做些什么。
MojoHaus Build Helper Maven插件 这是包含服务器目标,以支持您执行各种任务,例如解析版本信息,向Maven项目添加补充源/测试文件夹或附加补充工件。 有关更多详细信息,请参见。发行确保gpg-agent正在运行。 执行...
helper-maven-插件 helper-maven-插件 回答如何在命令行中获取 Maven groupId、artifactId 和项目版本,
jar包,亲测可用
jar包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
jar包,亲测可用
jar包,亲测可用
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装