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

Était-ce utile?

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:

  1. Essayez le piratage autour avec classloaders
  2. Ne pas utiliser le compresseur YUI
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top