Ser*_*ici 5 java eclipse maven-plugin maven
我正在寻找一个 Maven 插件,它可以帮助我管理在我们的 CI 环境中进行的每个构建的版本名称和代码。能够将前缀附加到主版本代码甚至更新它的东西(不更改pom.xml)。例如:
project version: 2.0.1
git/svn revision: 2342334
jar output: name-2.0.1-2342334.jar
maven repo: ../path/to/local/maven/repo/<package path>/2.0.1-2342334/
Run Code Online (Sandbox Code Playgroud)
这个插件的主要要求是:
pom.xml和运行 Maven 中)pom.xml文件一样)到目前为止,我只找到了maven-buildmetadata-pluging但不幸的是它不在 Maven Repo 中,所以我被卡住了。任何帮助都会很棒。
如果您更改工件的版本,pom 必须反映更改,否则它将无法重现。
如果您在构建过程中更改了某些内容(例如添加的版本等),则它必须反映在 pom 文件中。否则,您将无法以相同的结果重现构建过程。
您编写的内容不是更改 pom 文件,而是维护一个单独的文件。所以问题是:为什么不使用 pom 文件本身,因为它正是用于此目的。
此外,您通过 maven-buildmetadata-plugin 提到的所有信息都可以通过使用现有的 maven 插件(如 build-helper-maven-plugin、buildnumber-maven-plugin)来实现。
SCM 信息可以通过使用buildnumber-maven-plugin来使用,它提供了 SCM 修订号(SVN 或 GIT 哈希)等信息。
另一方面,如果您不想手动更改 pom 文件,您可以使用 versions -maven-plugin或maven-release-plugin,它们可以自动更改 pom 文件中的信息并自动处理所有这些事情。
要维护生产的工件中的元数据,您可以配置所有插件(例如ear,war,jar)等。或多或少像这样,其中buildNumber来自buildnumber-maven-plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<addMavenDescriptor>true</addMavenDescriptor>
<index>true</index>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<buildNumber>${buildNumber}</buildNumber>
</manifestEntries>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
当然,如果你真的喜欢使用 Maven,你应该使用已经提到过的存储库管理器,比如 Artifactory 或 Nexus,它们会让生活变得更轻松。
| 归档时间: |
|
| 查看次数: |
6820 次 |
| 最近记录: |