Tod*_*.Lu 5 kotlin gradle-plugin
我的编译环境是jdk1.8,运行时环境是jdk1.6.javagradle插件有sourceCompatibility属性.它对java项目有效.
例如:当sourceCompatibility=1.6我使用api 时编译器将报告错误,例如Paths来自jdk1.7 的api .
但sourceCompatibility属性不适用于kotlin项目.我知道它超出了java插件的范围.但是我很奇怪kotlingradle的插件是否有类似的属性.(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)
您可以设置jdkHomeKotlin 编译器的属性:
compileKotlin {
kotlinOptions {
jdkHome = '[path to 1.6 JDK]'
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |