gpt4 book ai didi

java - 创建一个属性文件,其中包含每个依赖组件的版本号

转载 作者:行者123 更新时间:2023-12-01 13:37:21 24 4
gpt4 key购买 nike

我正在开发一个相当大的项目结构,我们最近将其迁移到 Maven。目前结构如下:

父项目

  • 已分享
  • 核心(依赖项:“共享”)
  • 网络服务(依赖项:“共享”、“核心”)
  • webapp(依赖项:“共享”)
  • 工具
    • GUI 客户端(依赖项:“共享”)
    • 报告客户端(依赖项:“共享”)
    • 监控客户端(依赖项:“共享”、“核心”)
    • ...

每个组件都有自己的项目版本。如何为每个构建 Artifact 自动创建 version.properties 文件?属性文件需要包含包中包含的所有组件的所有版本号。

组件网络服务所需的输出:

webservice.version=1.0-SNAPSHOTshared.version=0.9core.version=1.1

组件 webapp 所需的输出:

webapp.version=1.1shared.version=0.9

我了解资源过滤,但我无法管理如何包含每个依赖项的版本。

最佳答案

dependency:list 插件会让你得到一些接近的东西。您可以将其设置为:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>create-versions-file</id>
<goals>
<goal>list</goal>
</goals>
</execution>
</executions>
<configuration>
<includeGroupIds>org.yourgroup1,org.yourgroup2</includeGroupIds>
<outputScope>false</outputScope>
<outputFile>${project.build.directory}/versions.info</outputFile>
</configuration>
</plugin>

结果输出将是:

The following files have been resolved:
org.yourgroup1:webservice:jar:1.0-SNAPSHOT
org.yourgroup1:shared:jar:0.9
org.yourgroup2:core:jar:1.1

现在显然这不完全是您想要的。要获得您想要的确切格式,您可以创建自己的插件(最好从依赖项列表 mojo 的源开始)或使用 maven-replacer-plugin 将上述输出文件转换为您想要的格式。

关于java - 创建一个属性文件,其中包含每个依赖组件的版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21160551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com