我尝试使用gradle 1.7,jetty 9.2和intellij IDEA 13设置简单的webapp。
这里有一些典型的gradle构建配置行,可以在我使用的教程中找到:
apply plugin: 'jetty'
sourceCompatibility = 1.5
version = '1.1'
repositories {
mavenCentral()
}
dependencies {
providedCompile 'javax.servlet:servlet-api:2.5'
// other dependencies
}
在IDEA中启动的配置位于Edit Configurations...->Add->Gradle
,任务为jettyRun
。
对于第一次运行一切正常,jetty启动,webapp可在浏览器中使用。
但是如果我在gradle.build
文件中更改某些内容并重新运行该任务,则会发生以下错误:
A problem occurred configuring root project 'gr3'.
Could not open buildscript class cache for build file 'D:\Work\priv\gr3\build.gradle' (C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript).
Timeout waiting to lock buildscript class cache for build file 'D:\Work\priv\gr3\build.gradle' (C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript). It is currently in use by another Gradle instance.
Owner PID: unknown
Our PID: 11948
Owner Operation: unknown
Our operation:
Lock file: C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript\cache.properties.lock
继续工作的唯一方法是重启IDE
有什么想法吗?
答案 0 :(得分:4)
jettyStop
任务停止码头。您还需要指定stopKey
和stopPort
才能成功执行任务。
答案 1 :(得分:4)
删除锁定文件
sudo rm -f <lockfile>
杀死pid
kill -9 <pid>
再试一次
gradle jettyRun -PbuildProfile=<profile>
答案 2 :(得分:1)
当多个构建从同一个build.gradle文件运行时,这是一个已知问题,请参阅https://issues.gradle.org/browse/GRADLE-2795
不确定IntelliJ是否允许这样做,但一种可能的解决方法是使用命令行选项--gradle-user-home指定不同的Gradle目录,但缺点是它会将所有依赖项再次下载到此目录中。
此问题中描述了其他解决方法,但我没有尝试其中任何一种。
答案 3 :(得分:0)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
&#39; jcenter&#39;必须保持!
答案 4 :(得分:0)
我不知道如何在技术上解决这个问题,但你可以手动完成。
.gradle
文件夹。cache.properties.lock
文件.gradle
文件夹caches
文件夹并查找modules-2
文件夹,删除里面的modules-2.lock
文件。这就是我所做的,它对我有用。 当您强制关闭构建过程时可能会发生这种情况,因此在重新引导之前,没有其他进程可以再次使用它。