Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从'build.gradle'到代码获取值_Java_Gradle_Build.gradle - Fatal编程技术网

Java 从'build.gradle'到代码获取值

Java 从'build.gradle'到代码获取值,java,gradle,build.gradle,Java,Gradle,Build.gradle,我们有一个build.gradle,其中定义了版本。我需要实现一个版本端点(比如/version)来获取项目的版本。build.gradle中的version属性已经存在很长时间了,我无法将其移动到project.properties文件中。如何从Java代码中访问此版本的值 有许多方法可以将信息“植入”到代码中 首先,您可以使用清单文件,并从中读取 jar { manifest { attributes( "lib-version": version } } 连同

我们有一个
build.gradle
,其中定义了
版本。我需要实现一个版本端点(比如
/version
)来获取项目的版本。
build.gradle
中的
version
属性已经存在很长时间了,我无法将其移动到
project.properties
文件中。如何从Java代码中访问此
版本的值

有许多方法可以将信息“植入”到代码中

首先,您可以使用清单文件,并从中读取

jar {
  manifest {
    attributes(
      "lib-version": version
  }
}
连同

另一个选项是在jar任务之前将该信息添加到属性文件中

task('addVersion') {
    doLast {
       //append the version here, see example
       file("src/main/resources/props.properties").append("version=$version")
    }
}
jar.dependsOn(addVersion)

有许多方法可以将信息“植入”到代码中

首先,您可以使用清单文件,并从中读取

jar {
  manifest {
    attributes(
      "lib-version": version
  }
}
连同

另一个选项是在jar任务之前将该信息添加到属性文件中

task('addVersion') {
    doLast {
       //append the version here, see example
       file("src/main/resources/props.properties").append("version=$version")
    }
}
jar.dependsOn(addVersion)

我们的一个项目不仅需要版本信息,还需要构建时间等。我们使用模板替换的复制任务

task updateVersions(type: Copy) {
    Properties props = new Properties()
    props.load(new FileInputStream(file('build.properties')))
    props.put("buildtime", new Date().format("dd MMM yyyy hh:mm aa"))
    props.put("version", "${version}")
    from project(':main').file('Version.tmpl')
    into file('src/main/java').path
    expand(props)
    rename('Version.tmpl', 'Version.java')
}

我们的一个项目不仅需要版本信息,还需要构建时间等。我们使用模板替换的复制任务

task updateVersions(type: Copy) {
    Properties props = new Properties()
    props.load(new FileInputStream(file('build.properties')))
    props.put("buildtime", new Date().format("dd MMM yyyy hh:mm aa"))
    props.put("version", "${version}")
    from project(':main').file('Version.tmpl')
    into file('src/main/java').path
    expand(props)
    rename('Version.tmpl', 'Version.java')
}

在汇编任务之前,将gradle中的值附加到属性文件中,或将版本包含在清单文件中并使用getResources读取。在汇编任务之前,将gradle中的值附加到属性文件中,或将版本包含在清单文件中并使用getResources读取