[英]How to use a variable defined in build.gradle in .java file
我有一个变量,例如myVar,在build.gradle中定义。 我想在同一项目的一部分.java文件中访问此变量。 我知道我们可以使用buildTypes
块在android中做到这一点。 但是我在IntelliJ IDEA中有一个非Android项目,所以不能使用它。 我确实遇到了一个插件https://github.com/mfuerstenau/gradle-buildconfig-plugin ,它可以使我做到这一点。 但是我不想依靠第三方插件。 我还了解了如何通过将值设置为System属性,然后使用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");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.