确定Gradle构建中的JVM供应商
我知道如何使用确定Gradle构建中的JVM供应商,gradle,build.gradle,gradlew,Gradle,Build.gradle,Gradlew,我知道如何使用JavaVersion.current()来确定所使用的JVM版本。但是有没有办法确定JVM是否来自Oracle、OpenJDK等 是的,总是可以选择检查系统属性“java.vendor”,但既然Gradle已经为java版本处理了这个问题,我想知道是否也为提供者提供了方便?我也必须这样做,系统属性是最好的方法。下面是一个将几个系统属性放入正在组装的JAR清单的示例 tasks.withType(Jar){ manifest.attributes.putAll([ "jav
JavaVersion.current()
来确定所使用的JVM版本。但是有没有办法确定JVM是否来自Oracle、OpenJDK等
是的,总是可以选择检查系统属性“java.vendor”,但既然Gradle已经为java版本处理了这个问题,我想知道是否也为提供者提供了方便?我也必须这样做,系统属性是最好的方法。下面是一个将几个系统属性放入正在组装的JAR清单的示例
tasks.withType(Jar){
manifest.attributes.putAll([
"java-vm-specification-version": System.getProperty("java.vm.specification.version"),
"java-vm-specification-vendor" : System.getProperty("java.vm.specification.vendor"),
"java-vm-specification-name" : System.getProperty("java.vm.specification.name"),
"java-vm-version" : System.getProperty("java.vm.version"),
"java-vm-vendor" : System.getProperty("java.vm.specification.vendor"),
"java-vm-name" : System.getProperty("java.vm.name"),
"java-specification-version" : System.getProperty("java.specification.version"),
"java-specification-vendor" : System.getProperty("java.specification.vendor"),
"java-specification-name" : System.getProperty("java.specification.name")
])
}
从中可以看出,没有方便的函数来检索Java供应商字符串。Gradle依赖于系统属性
java.vendor
以及内部代码。否。我相信检查java.vendor
是最好的选择。