我是靠谱客的博主 糟糕小天鹅,最近开发中收集的这篇文章主要介绍使用 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 构建项目所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部