Kotlin Gradle在WSL上构建什么都不做
我正在编写一个Kotlin程序,并使用Gradle作为构建系统,这是该语言的习惯。我通常在Windows上工作,但现在是在Linux上开始测试的时候了,所以使用WSL进行测试。安装了Gradle,在WSL中克隆了我的代码副本Kotlin Gradle在WSL上构建什么都不做,kotlin,gradle,windows-subsystem-for-linux,Kotlin,Gradle,Windows Subsystem For Linux,我正在编写一个Kotlin程序,并使用Gradle作为构建系统,这是该语言的习惯。我通常在Windows上工作,但现在是在Linux上开始测试的时候了,所以使用WSL进行测试。安装了Gradle,在WSL中克隆了我的代码副本 (base) a@DESKTOP-4B7M920:~/ayane$ gradle -version WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflectiv
(base) a@DESKTOP-4B7M920:~/ayane$ gradle -version
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/usr/share/java/groovy-all.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
------------------------------------------------------------
Gradle 4.4.1
------------------------------------------------------------
Build time: 2012-12-21 00:00:00 UTC
Revision: none
Groovy: 2.4.16
Ant: Apache Ant(TM) version 1.10.5 compiled on March 28 2019
JVM: 11.0.7 (Ubuntu 11.0.7+10-post-Ubuntu-2ubuntu218.04)
到目前为止,这一警告有时会发生,但似乎并不预示着马上就会有麻烦
这是我的生成文件,适用于Windows:
(base) a@DESKTOP-4B7M920:~/ayane$ cat build.gradle.kts
plugins {
kotlin("jvm") version "1.3.72"
}
repositories {
jcenter()
}
dependencies {
implementation(kotlin("stdlib"))
testImplementation("org.junit.jupiter:junit-jupiter:5.6.2")
}
tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
来吧
(base) a@DESKTOP-4B7M920:~/ayane$ gradle build
> Task :buildEnvironment
------------------------------------------------------------
Root project
------------------------------------------------------------
classpath
No dependencies
BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
<-------------> 0% WAITING
(基本)a@DESKTOP-4B7M920:~/ayane$gradle构建
>任务:构建环境
------------------------------------------------------------
根项目
------------------------------------------------------------
类路径
无依赖项
在0秒内成功构建
1个可执行任务:1个已执行
0%等待
嗯??我可以理解它是否因为某些先决条件不可用而抛出错误。但是没有错误,什么都没有?发生了什么事?此时您正在使用最新版本的Gradle Kotlin插件(1.3.72)。但是,您使用的是一个非常旧的Gradle版本(4.4.1)。正如您可以从中看到的: Kotlin Gradle插件1.3.72适用于Gradle 4.9及更高版本 不幸的是,插件没有检查这一点,并给出更正确的错误消息,而不是默默地什么都不做。我想如果你愿意的话,你可以为Jetbrains制造一个问题 正如在对您的问题的评论中提到的,我也强烈建议使用。它确保项目是使用您(构建作者)决定的特定声明版本的Gradle构建的。否则,您必须记录如何正确设置环境,包括安装哪个版本的Gradle Java也是如此:确保清楚地记录需要或支持哪个版本
至于在WSL中构建,我遇到的唯一问题是远程构建缓存不工作。这是因为我已将Git配置为使用POSIX行尾(LF)签出源文件,而缓存是在Windows计算机上使用CRLF行尾(LF)填充的。听起来您并没有使用该功能,但除此之外,WSL中的一切都很好。我始终建议使用gradle包装器,而不是希望每个人都有正确版本的gradle。除此之外,你做过其他的精神检查吗?爪哇之家?甚至可能像linux环境中的windows行结尾一样愚蠢?