java - 如何在java项目中使用任务更改或替换gradle版本?

标签 java grails gradle command-line

我有一个 gradle 项目,我想通过构建任务来更新其版本,以便当我运行该任务时它会自动更新gradle.properties文件中的版本号:

这个:

ServiceVer=1.0.0 ServiceSnapshot=-SNAPSHOT

应更改为:

ServiceVer=2.0.0 ServiceSnapshot=-SNAPSHOT

我需要编写什么任务或任何基本且简单的示例(链接)才能理解? 我是新来的。 我希望在 java 项目中而不是在 android 项目中进行所有这些更改。

最佳答案

您可以尝试类似的方法来更新属性文件

task versionPlusPlus() << {
    Properties props = new Properties()
    props.load(new File('gradle.properties').newDataInputStream())
    versionString =  props.getProperty('ServiceVer')
    //  mutate versionString to whatever you want
    props.setProperty('ServiceVer', versionString)
    props.store(propsFile.newWriter(), null)
}

我还没有对此进行测试,但您可能需要小心调用此任务并在同一 gradle 调用中运行构建(例如 gradle versionPlusPlus build ,新的 versionString 可能不会生效;更新 gradle.properties 后分别运行 gradle versionPlusPlus ,然后运行 ​​gradle build 。

更改版本字符串后,更新的版本要在同一 gradle 调用集中 project.version=ServiceVar 内生效。

关于java - 如何在java项目中使用任务更改或替换gradle版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39572159/

相关文章:

java - Gradle-FatJar-无法找到或加载主类

java - 在所有 Activity android中导入常用功能

Java字符串拆分未返回正确的值

java - 使用实现一对接口(interface)的成对类

java - 在 Netbeans 中重命名 Gradle 项目

gradle - 如何为Gradle提供正确的设置?

java - Android 从 GMT 毫秒获取 UTC 毫秒

grails - 如何在命令行中将参数传递给 Grails?

grails - Grails中的动态<g:for>

grails - 在一张 table 上建立一对多的关系