我试图使用内联插件对grails 3.1.9应用程序进行战争,它抛出一个错误,说“java.lang.IllegalStateException:无法重命名'C:\ test \ grails_demo \ plugins \ grails_demo_plugin \ build \ libs \ grails_demo_plugin -0.1.jar'to'C:\ test \ grails_demo \ plugins \ grails_demo_plugin \ build \ libs \ grails_demo_plugin-0.1.jar.original'“。
我不确定为什么它无法重命名该文件。我的settings.gradle文件包含:
include 'grails_demo_plugin'
project(":grails_demo_plugin").projectDir = new File("plugins/grails_demo_plugin")
在build.gradle文件依赖项块中包含如下所示:
dependencies {
compile project(":grails_demo_plugin")
compile "org.springframework.boot:spring-boot-starter-logging"
compile "org.springframework.boot:spring-boot-autoconfigure"
compile "org.grails:grails-core"
compile "org.springframework.boot:spring-boot-starter-actuator"
compile "org.springframework.boot:spring-boot-starter-tomcat"
compile "org.grails:grails-dependencies"
compile "org.grails:grails-web-boot"
compile "org.grails.plugins:cache"
compile "org.grails.plugins:scaffolding"
compile "org.grails.plugins:hibernate4"
compile "org.hibernate:hibernate-ehcache"
console "org.grails:grails-console"
profile "org.grails.profiles:web"
runtime "com.bertramlabs.plugins:asset-pipeline-grails:2.8.2"
runtime "com.h2database:h2"
testCompile "org.grails:grails-plugin-testing"
testCompile "org.grails.plugins:geb"
testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
testRuntime "net.sourceforge.htmlunit:htmlunit:2.18"
}
当我尝试运行应用程序时,一切正常,但是当我做了grails war时,我收到了这个错误。
经过几个小时的谷歌我发现,错误来自Gradle-Spring-Boot任务bootRepackage。
根据这个链接(https://github.com/spring-projects/spring-boot/issues/1113)我刚刚将“bootRepackage {classifier ='exec'}”添加到我的插件的build.gradle文件中,错误消失但插件jar没有添加到战争中文件。
以下是我的应用程序的github链接(https://github.com/Vigneshwaran082/grails_demo)
这是我完整的堆栈跟踪链接(https://github.com/Vigneshwaran082/grails_demo/blob/Vigneshwaran082-stackTrace/stackTrace.txt enter link description here)
答案 0 :(得分:1)
我正在回答我自己的问题,以便将来对某人有用。
只是禁用bootRepackage任务修复了这个问题。通过添加" bootRepackage.enabled = false"插件目录中的所有build.gradle修复了这个问题。