【问题标题】:Spring how to get Maven artifact name in runtimeSpring如何在运行时获取Maven工件名称
【发布时间】:2014-06-18 16:05:39
【问题描述】:

我有一个 Spring Integration 需求,我需要从我的 war 文件中外部化库和属性文件。我可以通过 Maven 程序集插件来实现这一点,我在其中创建了一个可能包含的 zip 文件

lib/*.jar 
properties/{artifactId}/*.properties

我将工件 ID 添加到路径的原因是,我将在未来创建 100 场战争,并且需要区分它们。

这场战争将不包含 Web.xml,并且 Initializer 是我的库文件之一的一部分。 Initializer 应该知道 artifactId 以便加载正确的属性。

使用 maven,maven 工件详细信息会发布到

META-INF/maven/${groupId}/${artifactId}/pom.properties
META-INF/maven/${groupId}/${artifactId}/pom.xml

如果我可以将这些文件移动到

META-INF/maven/pom.properties
META-INF/maven/pom.xml

我的应用程序将能够从 pom.properties 读取工件 ID。

我需要帮助来实现这一点。

或者如果有任何其他方法,请帮助解决问题。

【问题讨论】:

    标签: spring maven maven-plugin spring-integration


    【解决方案1】:

    Maven 归档器组件执行此操作:see here at addMavenDescriptor element。似乎无法自定义这些文件的路径。

    但我猜你需要的每个属性都可以放在一个特定的文件中,所以你只需要创建一个包含你想要的所有信息的资源文件(属性如),然后让 Maven 为你过滤那个文件。

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 2019-03-19
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多