Tod*_*.Lu 5 kotlin gradle-plugin
我的编译环境是jdk1.8,运行时环境是jdk1.6.java
gradle插件有sourceCompatibility
属性.它对java项目有效.
例如:当sourceCompatibility=1.6
我使用api 时编译器将报告错误,例如Paths
来自jdk1.7 的api .
但sourceCompatibility
属性不适用于kotlin项目.我知道它超出了java
插件的范围.但是我很奇怪kotlin
gradle的插件是否有类似的属性.(jvmTarget
属性默认为1.6,它不会阻止我使用jdk1.7 api)
===我的代码===
kotlin代码:
fun main(args: Array<String>) {
val pp = Paths.get("/tmp")
... ...
}
Run Code Online (Sandbox Code Playgroud)
我希望kotlin的编译器报告错误,但编译成功,
父母build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0"
}
}
subprojects {
apply plugin: "java"
compileJava.sourceCompatibility=1.6
compileJava.targetCompatibility=1.6
compileJava.options.encoding = 'UTF-8'
// For ubuntu
compileJava.options.bootClasspath = '/usr/lib/jvm/java-6-oracle/jre/lib/rt.jar'
}
Run Code Online (Sandbox Code Playgroud)
儿童kotlin项目build.gradle
:
apply plugin: 'application'
apply plugin: 'kotlin'
mainClassName = 'net.cat.ApplictionKt'
version='1.0'
jar {
manifest {
attributes 'Implementation-Title': 'xxxx',
'Implementation-Version': version,
'Main-Class': mainClassName
}
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
compile "org.jetbrains.kotlin:kotlin-reflect:1.1.0"
... ...
}
Run Code Online (Sandbox Code Playgroud)
您可以设置jdkHome
Kotlin 编译器的属性:
compileKotlin {
kotlinOptions {
jdkHome = '[path to 1.6 JDK]'
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
99 次 |
最近记录: |