Отключить обработку ресурсов Grails 2.0 после развертывания

Я упаковал свое приложение в войну grails war), и, как я вижу, он построил все необходимые ресурсы. Например у меня coffeescript код, который перевел на js реж. То же самое для scssи т. д. Я имею в виду, что у меня есть все статические ресурсы, которые могут обслуживаться напрямую (и я хочу сервировать их из Nginx, а не из Tomcat)

Но после развертывания этого war в Tomcat, я получаю ошибки, как:

ERROR plugins.DefaultGrailsPluginManager  - Error configuring dynamic methods for plugin [resources:1.1.6]: java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/io/Reader;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode;
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/io/Reader;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode;
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/io/Reader;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode;
    at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312)

Это из yui-minify-resources плагин. Подобная вещь происходит для coffeescript-resources плагин. Может быть, это потому, что что-то не так с этими плагинами, но это безумие, потому что у меня уже есть все ресурсы, подготовленные / обработанные / скомпилированные в статические файлы. Мне не нужны эти плагины в производственном режиме.

Как я могу отключить все эти плагины ресурсов в производственном режиме? Является ли это возможным?

PS то же самое для grails run-war

1 ответ

Решение

Это, вероятно, связано с coffeescript-resources а также yui-minify-resources оба имеют зависимость от движка JavaScript Rhino, но команда YUI внесла некоторые изменения в свою версию Rhino, что делает его несовместимым с ванильным Rhino. У вас есть два варианта:

  1. Попробуйте взломать с помощью загрузчиков классов
  2. Не используйте компрессор YUI
Другие вопросы по тегам