compileAssets升级Grails应用程序失败

问题描述 投票:0回答:1

我有一个运行版本3.3的Grails应用程序。我最近升级到版本4.0.3。我了解的升级方式通常不是最好的方法,即将环境升级到新的Grails版本,然后创建一个全新的Grails项目(我正在使用IntelliJ),然后将文件从从旧项目到新项目,修复了我发现它们不起作用的问题。我已将所有内容移到了一边,并且在IntelliJ中运行run-app时,该应用程序运行完美。但是,如果我去航站楼进行“ grails war”,就会遇到编译资产的各种问题。我通常不会非常注意资产的处理方式(这只是个人应用程序)。我在build.gradle文件中看到它正在使用资产管道插件版本3.0.10(com.bertramlabs.plugins:asset-pipeline-gradle:3.0.10)。如果我将这些引用更改回Grails 3应用程序(2.14.2)中使用的assetPipeline版本,则错误消失了。有人知道这些版本是否存在差异,可能会导致我的问题?

这里是错误堆栈的很大一部分:

...
Processing File 138 of 140 - redmond/images/ui-icons_cd0a0a_256x240.png
Processing File 139 of 140 - redmond/images/ui-icons_d8e7f3_256x240.png
Processing File 140 of 140 - redmond/images/ui-icons_f9bd01_256x240.png
> Task :Wolf:assetCompile FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1/userguide/command_line_interface.html#sec:command_line_warnings
1 actionable task: 1 executed
<-------------> 0% WAITING
> Deleting unused version-specific caches in E:\java_dev\projects\Wolf4\.gradle
effects.unminified.js:720: ERROR - Object literal contains illegal duplicate key "scaleMode", disallowed in strict mode
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    ^^^^^^^^^

Closure uglify JS Exception
asset.pipeline.processors.MinifyException: [Lcom.google.javascript.jscomp.JSError;@3ad6a23
        at asset.pipeline.processors.ClosureCompilerProcessor.process(ClosureCompilerProcessor.groovy:80)
        at asset.pipeline.processors.ClosureCompilerProcessor$process$0.call(Unknown Source)
        at asset.pipeline.AssetCompiler$_compile_closure4.doCall(AssetCompiler.groovy:173)
        at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:399)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
rico.unminified.js:163: ERROR - Object literal contains illegal duplicate key "hoverTextColor", disallowed in strict mode
         hoverTextColor      : '#ffffff',
         ^^^^^^^^^^^^^^

Closure uglify JS Exception
asset.pipeline.processors.MinifyException: [Lcom.google.javascript.jscomp.JSError;@7bb4d5d3
        at asset.pipeline.processors.ClosureCompilerProcessor.process(ClosureCompilerProcessor.groovy:80)
        at asset.pipeline.processors.ClosureCompilerProcessor$process$0.call(Unknown Source)
        at asset.pipeline.AssetCompiler$_compile_closure4.doCall(AssetCompiler.groovy:173)
        at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:399)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
unittest.unminified.js:457: ERROR - Object literal contains illegal duplicate key "benchmark", disallowed in strict mode
  benchmark: function(operation, iterations) {
  ^^^^^^^^^

Closure uglify JS Exception
asset.pipeline.processors.MinifyException: [Lcom.google.javascript.jscomp.JSError;@3e732fc9
        at asset.pipeline.processors.ClosureCompilerProcessor.process(ClosureCompilerProcessor.groovy:80)
        at asset.pipeline.processors.ClosureCompilerProcessor$process$0.call(Unknown Source)
        at asset.pipeline.AssetCompiler$_compile_closure4.doCall(AssetCompiler.groovy:173)
        at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
gradle grails asset-pipeline
1个回答
0
投票

我注意到曾尝试升级项目的一件事是,当Grails 4发布时,他们没有升级(或测试)很多插件;实际上,他们仍在与所有插件保持同步。

[如果您可以让您的项目与旧插件一起使用,我会说。否则,请等待升级磁贴,对插件进行更好的测试...并提交错误。

© www.soinside.com 2019 - 2024. All rights reserved.