Gradle:无法在Windows上连接到Kotlin守护程序
当我尝试涉及compileKotlin
(或compileTestKotlin
)的任务时,我收到此警告,结果是构建过程持续时间长:
When I try a task that involves a compileKotlin
(or compileTestKotlin
), then I receive this warning and the result is unpleasant long duration of the build process:
无法执行增量编译:无法连接到Kotlin编译守护程序
Could not perform incremental compilation: Could not connect to Kotlin compile daemon
无法连接到kotlin守护程序.使用后备策略.
Could not connect to kotlin daemon. Using fallback strategy.
我不确定该问题是否与我的操作系统(Windows)有关,但是我在具有Linux OS的远程计算机上具有相同的项目(带有同步文件),并且该问题不存在.参见下面的比较:
I'm not sure the issue is related to my OS (Windows) or not, but I have the same project (with synchronized files) on a remote machine with Linux OS and the issue doesn't exist there. See below comparison:
-
我的远程计算机( Linux )上的项目,但Kotlin来源(在一个模块中)稍有变化:
The project on my remote machine (Linux) with a little change in Kotlin sources (in one module):
$ ./gradlew build
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.0/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 5s
46 actionable tasks: 17 executed, 29 up-to-date
本地计算机( Windows )上的同一项目,但具有相同的更改:
Same project on my local machine (Windows) with same change:
> gradlew build
> Task :backend:compileKotlin
Could not perform incremental compilation: Could not connect to Kotlin compile daemon
Could not connect to kotlin daemon. Using fallback strategy.
warning: the '-d' option with a directory destination is ignored because '-Xbuild-file' is specified
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.0/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 14s
46 actionable tasks: 17 executed, 29 up-to-date
尤其是上面两个示例中的构建持续时间(以及在Windows计算机上compileKotlin
任务后的警告).即使我的本地计算机(Windows)具有更强大的硬件,但结果却相反(Gradle守护程序同时在两者上运行).
Especially see build duration time in above two samples (and the warning after compileKotlin
task on Windows machine). Even though my local machine (Windows) has more powerful hardware, but the result is the opposite (Gradle daemon is running on both).
为了进一步分析,我还在两台计算机上发布了gradle -v
和java -version
的输出:
In order to further analyzability I also publish the output of gradle -v
and java -version
on both machines:
-
Linux :
$ ./gradlew -v
------------------------------------------------------------
Gradle 5.0
------------------------------------------------------------
Build time: 2018-11-26 11:48:43 UTC
Revision: 7fc6e5abf2fc5fe0824aec8a0f5462664dbcd987
Kotlin DSL: 1.0.4
Kotlin: 1.3.10
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.1 (Oracle Corporation 11.0.1+13)
OS: Linux 3.10.0-862.11.6.el7.x86_64 amd64
$ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Windows :
> gradlew -v
------------------------------------------------------------
Gradle 5.0
------------------------------------------------------------
Build time: 2018-11-26 11:48:43 UTC
Revision: 7fc6e5abf2fc5fe0824aec8a0f5462664dbcd987
Kotlin DSL: 1.0.4
Kotlin: 1.3.10
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.1 (Oracle Corporation 11.0.1+13)
OS: Windows 10 10.0 amd64
> java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
两台计算机上的
全局gradle.properties
文件完全相同(并且没有针对本地的gradle.properties
文件):
Global gradle.properties
files on two machines are exactly same (and there is no poject-local gradle.properties
file for none):
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx1536m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
(无评论)
更新1:
将Gradle JVM设置为JDK 8
时没有问题.但是使用JDK 9+
可以看到此问题.
There is no problem when Gradle JVM has been set to JDK 8
. But with JDK 9+
you can see the issue.
更新2:
我将Kotlin插件从1.3.10
更新到了1.3.11
.此外,已测试1.3.20-eap-52
.但是问题仍然存在.
I updated my Kotlin plugin from 1.3.10
to 1.3.11
. Also, tested 1.3.20-eap-52
. But the issue persists.
更新3:
我使用--debug
选项运行Gradle的compileKotlin
任务以获取更多信息.输出中最重要的部分是:
I ran Gradle's compileKotlin
task with --debug
option to get more information. The most important parts of the output are:
注意:运行Gradle守护程序,停止Kotlin编译守护程序(如果已经运行)并且在Kotlin源代码中进行了少许更改时,已运行以下任务.
I..当使用 JDK 8 作为Gradle的JVM时( OK ):
I. When using JDK 8 as Gradle's JVM (OK):
11:01:44 PM: Executing task 'compileKotlin --debug'...
...
22:58:20.512 [DEBUG] [org.gradle.api.Project] [KOTLIN] Kotlin compiler args: -Xadd-compiler-builtins -Xbuild-file=C:\Users\I\AppData\Local\Temp\kjps3085207010700515672GradleKotlinJVM.script.xml -classpath D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk8\1.3.10\71d0fa967493eb76648b575edf1762cb2d0c7f10\kotlin-stdlib-jdk8-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk7\1.3.10\4d147bf43060dc43d61b096e24da1e67dfe0c032\kotlin-stdlib-jdk7-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar -d D:\Devel\IdeaProjects\GradleKotlinJVM\build\classes\kotlin\main -jvm-target 1.8 -Xload-builtins-from-dependencies -module-name GradleKotlinJVM -no-reflect -no-stdlib -Xplugin=D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-scripting-compiler-embeddable\1.3.10\e96a6125793c4ab0258119fcdce9d182f42d32b0\kotlin-scripting-compiler-embeddable-1.3.10.jar -verbose
...
22:58:33.515 [INFO] [org.gradle.api.Task] i: found daemon on port 17519 (270393 ms old), trying to connect
22:58:33.515 [INFO] [org.gradle.api.Task] i: cannot connect to registry: Connection refused: connect
22:58:33.515 [INFO] [org.gradle.api.Task] i: found fresh run file 'C:\Users\I\AppData\Local\kotlin\daemon\kotlin-daemon.2019-01-06T19-23-50.118Z.ef9f56f7564e12d191d0ba8e50b581f8.17519.run' (270393 ms old), but no daemon, ignoring it
22:58:33.515 [INFO] [org.gradle.api.Task] i: found daemon on port 17502 (63606 ms old), trying to connect
22:58:33.515 [INFO] [org.gradle.api.Task] i: cannot connect to registry: Connection refused: connect
22:58:33.515 [INFO] [org.gradle.api.Task] i: found fresh run file 'C:\Users\I\AppData\Local\kotlin\daemon\kotlin-daemon.2019-01-06T19-27-16.900Z.ef9f56f7564e12d191d0ba8e50b581f8.17502.run' (63606 ms old), but no daemon, ignoring it
22:58:33.515 [INFO] [org.gradle.api.Task] i: starting the daemon as: C:\Program Files\Java\openjdk1.8.0_202\jre\bin\java -cp D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar;C:\Program Files\Java\openjdk1.8.0_202\lib\tools.jar -Djava.awt.headless=true -Djava.rmi.server.hostname=127.0.0.1 -Xmx1536m -XX:MaxPermSize=512m -Dkotlin.environment.keepalive org.jetbrains.kotlin.daemon.KotlinCompileDaemon --daemon-runFilesPath C:\Users\I\AppData\Local\kotlin\daemon --daemon-autoshutdownIdleSeconds=7200 --daemon-compilerClasspath D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar;C:\Program Files\Java\openjdk1.8.0_202\lib\tools.jar
22:58:33.515 [INFO] [org.gradle.api.Task] i: Received the message signalling that the daemon is ready
22:58:33.516 [INFO] [org.gradle.api.Task] i: new daemon started, trying to find it
22:58:33.516 [INFO] [org.gradle.api.Task] i: found daemon on port 17519 (277256 ms old), trying to connect
22:58:33.516 [INFO] [org.gradle.api.Task] i: cannot connect to registry: Connection refused: connect
22:58:33.516 [INFO] [org.gradle.api.Task] i: found fresh run file 'C:\Users\I\AppData\Local\kotlin\daemon\kotlin-daemon.2019-01-06T19-23-50.118Z.ef9f56f7564e12d191d0ba8e50b581f8.17519.run' (277256 ms old), but no daemon, ignoring it
22:58:33.516 [INFO] [org.gradle.api.Task] i: found daemon on port 17502 (70469 ms old), trying to connect
22:58:33.516 [INFO] [org.gradle.api.Task] i: cannot connect to registry: Connection refused: connect
22:58:33.516 [INFO] [org.gradle.api.Task] i: found fresh run file 'C:\Users\I\AppData\Local\kotlin\daemon\kotlin-daemon.2019-01-06T19-27-16.900Z.ef9f56f7564e12d191d0ba8e50b581f8.17502.run' (70469 ms old), but no daemon, ignoring it
22:58:33.516 [INFO] [org.gradle.api.Task] i: found daemon on port 17507 (70 ms old), trying to connect
22:58:33.516 [INFO] [org.gradle.api.Task] i: connected to the daemon
22:58:33.518 [INFO] [org.gradle.api.Project] Options for KOTLIN DAEMON: IncrementalCompilationOptions(super=CompilationOptions(compilerMode=INCREMENTAL_COMPILER, targetPlatform=JVM, reportCategories=[0, 1, 2, 3, 4], reportSeverity=3, requestedCompilationResults=[0]), areFileChangesKnown=true, modifiedFiles=[D:\Devel\IdeaProjects\GradleKotlinJVM\src\main\kotlin\Main.kt], deletedFiles=[], workingDir=D:\Devel\IdeaProjects\GradleKotlinJVM\build\kotlin\compileKotlin, customCacheVersionFileName='gradle-format-version.txt', customCacheVersion=4, multiModuleICSettings=MultiModuleICSettings(buildHistoryFile=D:\Devel\IdeaProjects\GradleKotlinJVM\build\kotlin\compileKotlin\build-history.bin, useModuleDetection=false), usePreciseJavaTracking=truelocalStateDirs=[D:\Devel\IdeaProjects\GradleKotlinJVM\build\classes\kotlin\main])
22:58:33.524 [DEBUG] [sun.rmi.transport.tcp] Daemon worker: reuse connection
...
22:58:35.428 [DEBUG] [org.gradle.api.Project] [KOTLIN] [IC] compiling with args: [-Xadd-compiler-builtins, -Xbuild-file=C:\Users\I\AppData\Local\Temp\kjps6683894818132820708GradleKotlinJVM.script.xml, -classpath, D:\Devel\IdeaProjects\GradleKotlinJVM\build\classes\kotlin\main;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk8\1.3.10\71d0fa967493eb76648b575edf1762cb2d0c7f10\kotlin-stdlib-jdk8-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk7\1.3.10\4d147bf43060dc43d61b096e24da1e67dfe0c032\kotlin-stdlib-jdk7-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar, -jvm-target, 1.8, -Xload-builtins-from-dependencies, -module-name, GradleKotlinJVM, -no-reflect, -no-stdlib, -Xplugin=D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-scripting-compiler-embeddable\1.3.10\e96a6125793c4ab0258119fcdce9d182f42d32b0\kotlin-scripting-compiler-embeddable-1.3.10.jar, -Xreport-output-files, -verbose]
...
11:01:53 PM: Task execution finished 'compileKotlin --debug'.
II..当使用 JDK 11 作为Gradle的JVM时( 此处的问题 ):
II. When using JDK 11 as Gradle's JVM (Problem here):
11:01:44 PM: Executing task 'compileKotlin --debug'...
...
23:01:45.888 [DEBUG] [org.gradle.api.Project] [KOTLIN] Kotlin compiler args: -Xadd-compiler-builtins -Xbuild-file=C:\Users\I\AppData\Local\Temp\kjps11452575260818015211GradleKotlinJVM.script.xml -classpath D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk8\1.3.10\71d0fa967493eb76648b575edf1762cb2d0c7f10\kotlin-stdlib-jdk8-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk7\1.3.10\4d147bf43060dc43d61b096e24da1e67dfe0c032\kotlin-stdlib-jdk7-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar -d D:\Devel\IdeaProjects\GradleKotlinJVM\build\classes\kotlin\main -jvm-target 1.8 -Xload-builtins-from-dependencies -module-name GradleKotlinJVM -no-reflect -no-stdlib -Xplugin=D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-scripting-compiler-embeddable\1.3.10\e96a6125793c4ab0258119fcdce9d182f42d32b0\kotlin-scripting-compiler-embeddable-1.3.10.jar -verbose
...
23:01:48.134 [INFO] [org.gradle.api.Task] i: starting the daemon as: C:\Program Files\Java\openjdk-11.0.1\bin\java -cp D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar -Djava.awt.headless=true -Djava.rmi.server.hostname=127.0.0.1 -Xmx1536m -XX:MaxPermSize=512m -Dkotlin.environment.keepalive org.jetbrains.kotlin.daemon.KotlinCompileDaemon --daemon-runFilesPath C:\Users\I\AppData\Local\kotlin\daemon --daemon-autoshutdownIdleSeconds=7200 --daemon-compilerClasspath D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar
23:01:48.134 [INFO] [org.gradle.api.Task] i: [daemon] OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
23:01:48.134 [INFO] [org.gradle.api.Task] i: Received the message signalling that the daemon is ready
23:01:48.134 [INFO] [org.gradle.api.Task] i: new daemon started, trying to find it
23:01:48.134 [INFO] [org.gradle.api.Task] i: starting the daemon as: C:\Program Files\Java\openjdk-11.0.1\bin\java -cp D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar -Djava.awt.headless=true -Djava.rmi.server.hostname=127.0.0.1 -Xmx1536m -XX:MaxPermSize=512m -Dkotlin.environment.keepalive org.jetbrains.kotlin.daemon.KotlinCompileDaemon --daemon-runFilesPath C:\Users\I\AppData\Local\kotlin\daemon --daemon-autoshutdownIdleSeconds=7200 --daemon-compilerClasspath D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar
23:01:48.134 [INFO] [org.gradle.api.Task] i: [daemon] OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
23:01:48.134 [INFO] [org.gradle.api.Task] i: Received the message signalling that the daemon is ready
23:01:48.134 [INFO] [org.gradle.api.Task] i: new daemon started, trying to find it
23:01:48.137 [WARN] [org.gradle.api.Project] Could not perform incremental compilation: Could not connect to Kotlin compile daemon
23:01:48.137 [WARN] [org.gradle.api.Project] Could not connect to kotlin daemon. Using fallback strategy.
23:01:49.486 [LIFECYCLE] [system.err]
23:01:49.486 [ERROR] [system.err] logging: using Kotlin home directory <no_path>
23:01:49.521 [ERROR] [system.err] logging: configuring the compilation environment
23:01:50.538 [ERROR] [system.err] logging: loading modules: [java.se, jdk.accessibility, jdk.attach, jdk.compiler, jdk.dynalink, jdk.httpserver, jdk.jartool, jdk.javadoc, jdk.jconsole, jdk.jdi, jdk.jfr, jdk.jshell, jdk.jsobject, jdk.management, jdk.management.jfr, jdk.net, jdk.scripting.nashorn, jdk.sctp, jdk.security.auth, jdk.security.jgss, jdk.unsupported, jdk.unsupported.desktop, jdk.xml.dom, java.base, java.compiler, java.datatransfer, java.desktop, java.xml, java.instrument, java.logging, java.management, java.management.rmi, java.rmi, java.naming, java.net.http, java.prefs, java.scripting, java.security.jgss, java.security.sasl, java.sql, java.transaction.xa, java.sql.rowset, java.xml.crypto, jdk.internal.jvmstat, jdk.management.agent, jdk.jdwp.agent, jdk.internal.ed, jdk.internal.le, jdk.internal.opt]
23:01:53.459 [ERROR] [system.err] warning: the '-d' option with a directory destination is ignored because '-Xbuild-file' is specified
...
11:01:53 PM: Task execution finished 'compileKotlin --debug'.
III..当使用 JDK 11 作为Gradle的JVM时,但在 Linux 上(确定):>
III. When using JDK 11 as Gradle's JVM, but on Linux (OK):
$ ./gradlew compileKotlin --debug
...
01:33:20.145 [INFO] [org.gradle.api.Task] i: starting the daemon as: /usr/local/jdk-11.0.1/bin/java -cp /usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.3.10/adc9e577de39fba3db6d60662892118afedd713/kotlin-compiler-embeddable-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.3.10/dd02865be0351707554b16a896b766b2396cdafa/kotlin-reflect-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.10/b178c1501609c6e4ee8be635513cb023a466457d/kotlin-stdlib-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-script-runtime/1.3.10/1d2bac36f99b84e1493244f12629bc0756a3ff90/kotlin-script-runtime-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.10/1b19d99229dcedad7caf50534dce38fe82845269/kotlin-stdlib-common-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar -Djava.awt.headless=true -Djava.rmi.server.hostname=127.0.0.1 -Xmx1536m -XX:MaxPermSize=512m -Dkotlin.environment.keepalive org.jetbrains.kotlin.daemon.KotlinCompileDaemon --daemon-runFilesPath /usr/share/nginx/html/0xy/.kotlin/daemon --daemon-autoshutdownIdleSeconds=7200 --daemon-compilerClasspath /usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.3.10/adc9e577de39fba3db6d60662892118afedd713/kotlin-compiler-embeddable-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.3.10/dd02865be0351707554b16a896b766b2396cdafa/kotlin-reflect-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.10/b178c1501609c6e4ee8be635513cb023a466457d/kotlin-stdlib-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-script-runtime/1.3.10/1d2bac36f99b84e1493244f12629bc0756a3ff90/kotlin-script-runtime-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.10/1b19d99229dcedad7caf50534dce38fe82845269/kotlin-stdlib-common-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar
01:33:20.145 [INFO] [org.gradle.api.Task] i: [daemon] OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
01:33:20.145 [INFO] [org.gradle.api.Task] i: Received the message signalling that the daemon is ready
01:33:20.145 [INFO] [org.gradle.api.Task] i: new daemon started, trying to find it
01:33:20.145 [INFO] [org.gradle.api.Task] i: found daemon on port 17613 (56 ms old), trying to connect
01:33:20.145 [INFO] [org.gradle.api.Task] i: connected to the daemon
01:33:20.145 [INFO] [org.gradle.api.Project] Options for KOTLIN DAEMON: IncrementalCompilationOptions(super=CompilationOptions(compilerMode=INCREMENTAL_COMPILER, targetPlatform=JVM, reportCategories=[0, 1, 2, 3, 4], reportSeverity=3, requestedCompilationResults=[0]), areFileChangesKnown=false, modifiedFiles=null, deletedFiles=null, workingDir=/usr/share/nginx/html/0xy/test/build/kotlin/compileKotlin, customCacheVersionFileName='gradle-format-version.txt', customCacheVersion=4, multiModuleICSettings=MultiModuleICSettings(buildHistoryFile=/usr/share/nginx/html/0xy/test/build/kotlin/compileKotlin/build-history.bin, useModuleDetection=false), usePreciseJavaTracking=truelocalStateDirs=[/usr/share/nginx/html/0xy/test/build/classes/kotlin/main])
...
01:33:21.920 [DEBUG] [org.gradle.api.Project] [KOTLIN] [IC] compiling with args: [-Xadd-compiler-builtins, -Xbuild-file=/tmp/kjps15100965302804914597GradleKotlinJVM.script.xml, -classpath, /usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.3.10/71d0fa967493eb76648b575edf1762cb2d0c7f10/kotlin-stdlib-jdk8-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.10/4d147bf43060dc43d61b096e24da1e67dfe0c032/kotlin-stdlib-jdk7-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.10/b178c1501609c6e4ee8be635513cb023a466457d/kotlin-stdlib-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.10/1b19d99229dcedad7caf50534dce38fe82845269/kotlin-stdlib-common-1.3.10.jar:/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar, -jvm-target, 1.8, -Xload-builtins-from-dependencies, -module-name, GradleKotlinJVM, -no-reflect, -no-stdlib, -Xplugin=/usr/share/nginx/html/0xy/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-scripting-compiler-embeddable/1.3.10/e96a6125793c4ab0258119fcdce9d182f42d32b0/kotlin-scripting-compiler-embeddable-1.3.10.jar, -Xreport-output-files, -verbose]
...
上面的日志(第二个)中有一些可疑事件,但是我无法完全理解它们的含义,并且它们是否与我的问题有关:
There are some suspected events in the above logs (second), but I can't exactly understand the meaning of them and that they are related to my problem or not:
- 为什么发生了两次(完全相等)尝试来启动 Kotlin编译守护程序?
- 存在一些错误.但是他们都是在警告Kotlin的守护程序问题之后.
-
最新错误/警告:
- Why two (exactly equal) tries has occurred to start Kotlin compile daemon?
- There are some errors. But they are all after warnings about Kotlin's daemon problem.
The latest error/warning:
[ERROR] [system.err] warning: the '-d' option with a directory destination is ignored because '-Xbuild-file' is specified
是最可疑的东西!因为这是您在其他日志中找不到的唯一消息.另请参见此处.我在另一篇文章中对此进行了询问>.
is the most suspected thing! Because it's the only message you can't find in other logs. Also see here. I asked about it in another post.
最后,我找到了问题的根源……几天后!
Finally, I found the source of the issue ... After some days!
我发现问题出在我的用户帐户中.因此决定将任何与用户相关的事物恢复到其第一状态.在清除Temp
文件夹(在AppData\local\
中)期间,我偶然看到了以下文件:
I found out the issue is from my user account. So decided to revert any user-dependent thing to its first state. During clearing Temp
folder (in AppData\local\
) accidentally I saw these files:
kotlin-daemon.Û²Û°Û±Û¹-Û°Û±-Û°Û¸.Û°Û³-ÛµÛ´-Û±Û²-Û¶Û´Û¸.00.log
kotlin-daemon.Û²Û°Û±Û¹-Û°Û±-Û°Û¸.Û°Û³-ÛµÛ´-Û±Û²-Û¶Û´Û¸.00.log
是的!问题来自 unicode编码问题 (可能在NTFS
和UTF-8
之间)!尽管这些文件是log
文件,并且它们的名称也许并不重要,但该问题可能存在于其他地方!
Yes! The problem has come from unicode encoding issues (probably between NTFS
and UTF-8
)! Although these are log
files and maybe not important their names, this issue can exist somewhere else!
您可以猜测,文件名的损坏部分为 date
& time
.因此(很遗憾),我不得不还原Windows用户帐户日期&的个性化设置.时间格式从我最喜欢的(Persian (Iran)
)到English (United States)
:
As you can guess, damaged part of file names are date
& time
. So (unfortunately) I forced to revert my personalizations of Windows user account's date & time formats from my favorite (Persian (Iran)
) to English (United States)
:
问题立即解决:
> wmic process where "name='java.exe'" get processId, executablePath, commandLine /format:list
CommandLine=D:\Devel\JDK\openjdk-11.0.1\bin\java.exe -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED -Xmx1536m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp D:\Devel\.gradle\wrapper\dists\gradle-5.0-all\4mxuau4c77thx8zlvtz4xiez7\gradle-5.0\lib\gradle-launcher-5.0.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 5.0
ExecutablePath=D:\Devel\JDK\openjdk-11.0.1\bin\java.exe
ProcessId=9168
CommandLine=D:\Devel\JDK\openjdk-11.0.1\bin\java -cp D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar -Djava.awt.headless=true -Djava.rmi.server.hostname=127.0.0.1 -Xmx1536m -XX:MaxPermSize=512m -Dkotlin.environment.keepalive org.jetbrains.kotlin.daemon.KotlinCompileDaemon --daemon-runFilesPath C:\Users\I\AppData\Local\kotlin\daemon --daemon-autoshutdownIdleSeconds=7200 --daemon-compilerClasspath D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.3.10\adc9e577de39fba3db6d60662892118afedd713\kotlin-compiler-embeddable-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-reflect\1.3.10\dd02865be0351707554b16a896b766b2396cdafa\kotlin-reflect-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.3.10\b178c1501609c6e4ee8be635513cb023a466457d\kotlin-stdlib-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-script-runtime\1.3.10\1d2bac36f99b84e1493244f12629bc0756a3ff90\kotlin-script-runtime-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.3.10\1b19d99229dcedad7caf50534dce38fe82845269\kotlin-stdlib-common-1.3.10.jar;D:\Devel\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar
ExecutablePath=D:\Devel\JDK\openjdk-11.0.1\bin\java.exe
ProcessId=12088
第二个过程是 Kotlin编译守护程序 .
The second process is Kotlin compile daemon.
也log
个文件:
kotlin-daemon.2019-01-08.03-51-11-111.00.log
kotlin-daemon.2019-01-08.03-51-11-111.00.log.lck
(请注意,.log.lck
文件在以前的状态下不存在!)
(Note that .log.lck
file didn't exist in previous state!)