我有一个简单的父项目,其中包含模块/应用程序。我选择的构建工具是 gradle。父 build.gradle
定义如下。
apply plugin: 'groovy'
dependencies {
compile gradleApi()
compile localGroovy()
}
allprojects {
repositories {
mavenCentral()
}
version "0.1.0-SNAPSHOT"
}
我想做的是在我的 swing 应用程序中使用版本属性 (0.1.0-SNAPSHOT)。具体来说,我希望它显示在主 JFrame 的标题栏中。我希望能够执行类似 this.setTitle("My Application - v."+ ???.version);
该应用程序是一个纯 Java 项目,但我不反对添加 groovy 支持,它会有所帮助。
最佳答案
我喜欢在构建过程中创建属性文件。这是直接从 Gradle 执行此操作的方法:
task createProperties(dependsOn: processResources) {
doLast {
new File("$buildDir/resources/main/version.properties").withWriter { w ->
Properties p = new Properties()
p['version'] = project.version.toString()
p.store w, null
}
}
}
classes {
dependsOn createProperties
}
关于java - 如何从 gradle 构建中获取版本属性以包含在运行时 Swing 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33020069/