赞
踩
网上有些视频教程讲解过程中,在讲解如何将Java和kotlin一起使用的时,在编辑build.gradle时,步骤如下:
① 修改build.gradle -> build.gradle.kts
② 在build.gradle.kts中添加
plugins {
application;
kotlin("jvm");
}
application {
mainClassName = "Main";
}
dependencies {
compile(kotlin("stdlib"));
}
repositories {
jcenter();
}
对于这个编写方式,没有问题。但是要注意,这是2017年~2018年时候的Intellij IDEA、gradle 4.1版本时候的写法。
对于上述写法,在2021年时候,Intellij IDEA2021.2、gradle 7.2版本就不适用了。
大家需要将Build.gradle.kts编写成如下:
import java.util.regex.Pattern.compile plugins { application; kotlin("jvm") version "1.5.10" //版本要与File->project structure -> Project Settings -> Libraries 的‘Gradle: org.jetbrains.kotlin:kotlin-stdlib’相同 } application { mainClassName = "Dog"; //此处的Dog为kotlin文件名 Dog.java 注意看下面的Java文件名 } dependencies { compile("org.jetbrains.kotlin:kotlin-stdlib"); //此处是重点, 要引入包文件,注意与以前版本的写法区别 } repositories{ jcenter() }
其余测试代码如下:
src - main - kotlin 文件夹:
Aniaml.kt class Aniaml(var name : String) { fun cry() { println("animal $name can cry") } }
src - main - java 文件夹:
Dog.java
public class Dog { public static void main(String [] args) { Aniaml d = new Aniaml("Cat"); d.cry(); } }
测试结果:
> Task :compileKotlin
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes
> Task :run
animal Cat can cry
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。