【问题标题】:maven get properties at compile timemaven 在编译时获取属性
【发布时间】:2012-09-13 21:55:34
【问题描述】:

我们如何在编译时获取源文件中的 Maven 属性

pom.xml

<artifactId>myApp</artifactId>
<version>1.0.0</version>

Main.java

public class Main {
  private static final String artifactId = "project.artifactId";
  private static final String version = "project.version";
}

可以在课堂上硬编码吗?

【问题讨论】:

  • 我总是从它构建的 jar 中获得这些信息。
  • 答案here可能会给你一些线索。

标签: java maven


【解决方案1】:

您可以使用 maven 属性在 generate-src 目录中创建 java 源文件,并通过 build helper maven 插件将其附加到源文件夹列表中。

您将控制 java 文件的内容。

创建源 java 文件的一种方法是使用带有内联的 groovy maven 插件。

【讨论】:

  • 问题是我们需要在库加载阶段,所以不能使用getClass() 并且需要在编译时...
  • 您不需要添加此信息,因为此信息通常已添加到 jar 文件中。存在一个文件 META-INF/maven/${groupId}/${artifactId}/pom.properties。
  • @khmarbaise:因为我们有很多原生库。我们需要加载特定版本的库...
猜你喜欢
  • 2023-03-19
  • 2019-11-06
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多