我是靠谱客的博主 糟糕小天鹅,最近开发中收集的这篇文章主要介绍使用 Gradle + Kotlin + Java 9 module system 构建项目,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
使用Java 9 module system和Kotlin混合编程时,由于Kotlin还未很好的支持而导致编译失败。这里给出相关的解决方法。参考连接
buildscript {
ext {
kotlinVersion = '1.2.41'
}
repositories {
mavenCentral()
}
dependencies {
classpath "gradle.plugin.org.gradle.java:experimental-jigsaw:+"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.41"
classpath "org.jetbrains.kotlin:kotlin-allopen:1.2.41"
}
}
repositories {
mavenCentral()
}
apply plugin: 'kotlin'
// 可以实现简单配置 Java 9 module system 插件
apply plugin: "org.gradle.java.experimental-jigsaw"
sourceCompatibility = 1.9
targetCompatibility = 1.9
compileKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}
}
// kotlin 1.2.41 版本并不能很好的支持 Java 9 module system
// 需要设置destinationDir路径解决编译问题
compileKotlin.destinationDir = compileJava.destinationDir
compileTestKotlin.destinationDir = compileJava.destinationDir
// 排除编译产生的重复class
jar { duplicatesStrategy = "EXCLUDE" }
dependencies {
compile 'com.fasterxml.jackson.module:jackson-module-kotlin'
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile "org.jetbrains.kotlin:kotlin-reflect"
}
复制代码
转载于:https://juejin.im/post/5ae5d28e6fb9a07aab299fde
最后
以上就是糟糕小天鹅为你收集整理的使用 Gradle + Kotlin + Java 9 module system 构建项目的全部内容,希望文章能够帮你解决使用 Gradle + Kotlin + Java 9 module system 构建项目所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复