gpt4 book ai didi

java - 如何在.java文件中使用build.gradle中定义的变量

转载 作者:行者123 更新时间:2023-12-02 01:43:51 25 4
gpt4 key购买 nike

我有一个变量,比如 myVar,在 build.gradle 中定义。我想在某个 .java 文件中访问此变量,该文件是同一项目的一部分。我知道我们可以在 android 中使用 buildTypes block 来做到这一点。但我在IntelliJ IDEA中有一个非android项目,所以无法使用它。我确实遇到了一个插件https://github.com/mfuerstenau/gradle-buildconfig-plugin这让我可以做到这一点。但我不想依赖第三方插件。我还了解了如何通过将值设置为系统属性,然后使用 System.getenv() 在 .java 中访问它来实现此目的。但是,我不想改变系统级的东西。知道如何做到这一点吗?

最佳答案

将此变量值存储到由 processResources 复制的某些属性文件(例如)中,并使用 ClassLoader 从 Java 代码加载属性文件。

例如:

src/main/resources/foo.properties中,添加以下行:

zimboom=${blabla}

在构建文件中,添加以下配置:

def myVar = 'hello';

processResources {
fileMatching('foo.properties') {
expand([blabla: myVar])
}
}

在 Java 源文件中,要获取值,请使用

Properties properties = new Properties();
properties.load(MyClass.class.getResourceAsStream("/foo.properties");
String zimboom = properties.getProperty("zimboom");

关于java - 如何在.java文件中使用build.gradle中定义的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54006319/

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