Aar*_*ron 5 java gradle gradlew
当我执行 gradle 时,有时需要很长时间才能“初始化”(最多 40 秒)。
PS C:\Users\Username\project> gradle build
<------------> 0% INITIALIZING [35s]
> IDLE
Run Code Online (Sandbox Code Playgroud)
我尝试执行什么目标似乎并不重要(compileJava并且test都build需要这么长时间)
如果我在花了这么长时间后不久重新运行 Gradle,它会非常快并且在几毫秒或几秒内执行,但如果我等待更长的时间才能重新运行,它又需要很长时间。
这在我的不同项目中发生过,并且它gradlew也发生在gradle.
我使用的是 Windows 10,使用 Gradle 7.4。
esk*_*tos 14
这是以下问题 https://github.com/gradle/gradle/issues/17955
在初始化期间,Gradle 尝试确定文件系统监视是否可以安全启用。在连接了网络驱动器的 Windows 计算机上,根据您的网络设置,这可能需要很长时间。
好的解决方法不是禁用 FSW,而是显式启用它。这将禁用需要很长时间的发现过程,同时保持 FSW 启用并使您的构建速度更快。
这可以在命令行上完成:
gradlew.bat --watch-fs yourTaskName
Run Code Online (Sandbox Code Playgroud)
或者执着于你的gradle.properties
org.gradle.vfs.watch=true
Run Code Online (Sandbox Code Playgroud)
编辑:使用@eskatos 答案。
显式启用文件系统监视自然比禁用它更好。
有点违反直觉,文档中也没有任何提示,但它确实有效。
---- 老答案从这里开始
TLDR:禁用文件系统监视(如果你能负担得起)
gradlew.bat --no-watch-fs yourTaskName
Run Code Online (Sandbox Code Playgroud)
细节:
同样的问题困扰了我一个月。最后我厌倦了,在检查了 gradle 调试输出(-d 键)后,我发现在进入 IDLE 之前,gradle 报告:
[INFO] [org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner] Watching the file system is configured to be enabled if available
[DEBUG] [org.gradle.internal.operations.DefaultBuildOperationRunner] Build operation 'Build started for file system watching' started
[DEBUG] [org.gradle.internal.watch.registry.impl.DefaultFileWatcherRegistry] Started listening to file system change events
Run Code Online (Sandbox Code Playgroud)
所以我禁用了 FS 观看功能,嗖!
| 归档时间: |
|
| 查看次数: |
2324 次 |
| 最近记录: |