我正在尝试使用内联插件来对抗 grails 3.1.9 应用程序,它抛出一个错误说“java.lang.IllegalStateException: Unable to rename 'C:\test\grails_demo\plugins\grails_demo_plugin\build\libs\grails_demo_plugin-0.1. jar' 到 '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 {分类器='exec'}”添加到我的插件的build.gradle文件中,错误消失了但是 plugin-jar 没有添加到 war 文件中。
这是我的应用程序的 github 链接(https://github.com/Vigneshwaran082/grails_demo)
这是我完整的堆栈跟踪链接(https://github.com/Vigneshwaran082/grails_demo/blob/Vigneshwaran082-stackTrace/stackTrace.txt在此处输入链接描述)