【发布时间】:2016-01-25 06:50:50
【问题描述】:
为了在我的项目中获取 artifactId,我使用了以下代码。
public static void main(String[] args) {
Properties prop = new Properties();
InputStream in = null;
try {
String fileName = "application.properties";
in = ConfigServiceApplication.class.getClassLoader().getResourceAsStream(fileName);
prop.load(in);
SpringApplication.run(ConfigServiceApplication.class, args);
System.out.println(prop.getProperty("prop.name");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我的 application.properties 包含以下内容:
prop.name=${project.artifactId}
如果一切正常运行,预期的输出是:
config-service //this is my artifactId
但是当我运行上述代码时得到的输出是
${project.artifactId}
我参考了这些链接来获取信息:Retrieve version from maven pom.xml in code, http://www.mkyong.com/java/java-properties-file-examples/
谁能更正我的代码以正确获取 artifactId?
编辑: Pom 文件:
<project>
...
<artifactId>config-service</artifactId>
...
<properties>
<name>${project.artifactId}</name>
</properties>
...
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
...
</project>
【问题讨论】:
-
你能分享你配置资源的部分 pom 吗?你在应用 maven 过滤吗?
-
@A.DiMatteo 我已经更新了主帖中的 POM 文件。
-
你是如何运行主课的? Maven 构建是否将属性文件中的令牌替换为目标/类文件夹的一部分?
-
@A.DiMatteo 我以错误的方式运行。我遵循了以下答案中提到的内容。
标签: java maven spring-boot pom.xml