gpt4 book ai didi

java - 有没有办法在编译期间在 Java 类中使用 maven 属性

转载 作者:IT老高 更新时间:2023-10-28 20:53:09 24 4
gpt4 key购买 nike

我只想在编译时在我的 Java 类中使用 maven 占位符以减少重复。

类似的东西:

pom.xml

<properties>
<some.version>1.0</some.version>
</properties>

SomeVersion.java

package some.company;

public class SomeVersion {

public static String getVersion() {
return "${some.version}"
}

}

最佳答案

只需在 src/main/resources 中创建文件 app.properties,内容如下

application.version=${project.version}

然后像这样启用maven过滤

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>

仅此而已 - 在应用程序代码中只需读取属性文件

ClassPathResource resource = new ClassPathResource( "app.properties" );
p = new Properties();
InputStream inputStream = null;
try {
inputStream = resource.getInputStream();
p.load( inputStream );
} catch ( IOException e ) {
LOGGER.error( e.getMessage(), e );
} finally {
Closeables.closeQuietly( inputStream );
}

并提供这样的方法

public static String projectVersion() {
return p.getProperty( "application.version" );
}

关于java - 有没有办法在编译期间在 Java 类中使用 maven 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740618/

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