有时,当同时有多条管道时,我会得到:
问题所在:无法使用GradleUserHomeScopeServices.createCachingFileHasher()创建FileHasher类型的服务。
等待锁定文件哈希缓存(/cache/. gradle/cache/5.1/fileHash)的超时。它目前正在被另一个Gradle实例使用。所有者PID:149我们的PID:137所有者操作:我们的操作:锁定文件: /cache/myshop/reunion/.gradle/caches/5.1/fileHashes/fileHashes.lock
我找不到任何关于gradle使用的锁系统的留档。我不明白为什么当gradle操作不写入缓存目录时,锁会被定位。
有人知道锁是怎么工作的吗?或者我可以简单地更改超时的持续时间,让伴随的任务在失败之前等待足够长的时间?
www.DeepL翻译。com/转换器
我试图在没有守护程序的情况下tun gradle,但没有成功。
另一种可能发生这种情况的情况是,这些Gradle相关文件中的一些文件位于云文件系统上,如OneDrive,需要重新验证。
在尝试在不同主机上运行的多个Gradle进程之间共享Gradle缓存时,通常会出现此错误。我假设您的CI管道在不同的主机上运行,或者它们至少彼此隔离运行(例如,作为不同Docker容器的一部分)。
不幸的是,Gradle目前不支持这样的场景。Gradle开发者StefanOehme写了这篇评论。共享Gradle用户主页:
Gradle进程如果没有争用,将持有锁(以获得性能)。争用是通过进程间通信宣布的,当进程在Docker容器中隔离时,这种通信不起作用。
他在后续评论中更明确地指出(我强调):
尽管如此,我们可能还没有发现其他问题,因为在机器之间共享用户主页并不是我们设计的用例。
换句话说:Gradle目前不正式支持在不同的机器或其他孤立的进程之间共享Gradle用户主页,甚至只是其中的缓存部分。(另请参见我的相关问题。)
我想对于您的场景,解决此问题的唯一方法是:
我通过在Activity Monitor(MacOS)中杀死所有java进程解决了这个问题。希望有帮助。
当我尝试同时运行2个gradle项目时,它会引发以下错误: 无法使用GradleUserHomeServices创建FileHasher类型的服务。createCachingFileHasher() 等待锁定文件哈希缓存超时(/用户/用户名/.gradle/缓存/6.4/文件哈希)。另一个Gradle实例当前正在使用它 所有者PID:40300 我们的PID:44136 所有者操作: 我们的操作:
我正在使用Gradle构建一个java项目。当我运行任何任务(组装、测试)时。我随机得到一个错误: 以前有没有人有过同样的问题? Gradle V:3.5 java 8 我正在使用java插件。 谢谢
我正在使用IntelliJ,可以通过GUI构建和运行我的Gradle项目,方法是按下播放按钮,然后从终端运行此命令 生成此控制台输出,生成失败:
我在Centos 7终端中使用了gradle build命令,并得到了输出:
我安装了: < li>eclipse juno < li>java-6-openjdk-i386(在Eclipse中被选为默认JRE) < li>java-7-openjdk-i386 当我尝试在Eclipse中向Tomcat7添加新服务器时,我收到以下消息: 无法使用所选类型创建服务器 我不能继续了。添加Tomcat6服务器没有问题。 我读了这个问题但它没有为我解决它
当我运行我的ant任务时,我得到以下错误 /build.xml:61:问题:无法创建任务或类型javac原因:找不到类org.apache.tools.ant.taskdefs.javac。操作:检查组件是否已正确声明,并且实现JAR是否位于以下目录中:-/idea-ic-107.587/lib/ant/lib-/home/.ant/lib-在命令行中添加了-lib参数的目录 但是我在上面提到的路