Désactiver Grails 2.0 traitement des ressources, après deploy
-
27-10-2019 - |
Question
J'ai emballé mon application dans une guerre (par grails war
), et que je vois, il a construit toutes les ressources nécessaires. Par exemple, j'ai code coffeescript
, qui ont traduit dans js
dir. Idem pour scss
, etc. Je veux dire que j'ai toutes les ressources statiques, qui peuvent être fournis directement (et je veux au serveur à partir Nginx, non Tomcat)
Mais après le déploiement de ce war
dans Tomcat, je reçois des erreurs comme:
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)
Celui-ci est de plugin yui-minify-resources
. chose semblable se produit pour plugin coffeescript-resources
. Peut-être qu'il est parce qu'il ya quelque chose de mal avec ce plug-ins, mais il est fou, parce que je l'ai déjà toutes les ressources, préparés / transformés / compilés aux fichiers statiques. Je ne ai pas besoin ce plug-ins sur le mode de production.
Comment puis-je désactiver tous les plug-ins de ce mode de ressources sur la production? Est-il possible?
PS même chose pour grails run-war
La solution
Ceci est probablement dû à coffeescript-resources
et yui-minify-resources
les deux ayant une dépendance au moteur de Rhino, mais l'équipe de YUI a fait quelques modifications à leur version de Rhino, qui lui fait incompatible avec la vanille Rhino. Vous avez deux options:
- Essayez le piratage autour avec classloaders
- Ne pas utiliser le compresseur YUI