2012-06-30 17 views
10

He estado utilizando YuiCompressorTask (última versión) en mi proyecto durante mucho tiempo sin problemas. Después de actualizar al paquete de Oracle Java 1.7 en OSX, hwoever, se rompe con la siguiente excepción (esto es para un archivo JavaScript, ya que funciona bien con un archivo css):YuiCompressorTask: "No se puede encontrar el paquete para el nombre base org.mozilla.javascript.resources.Messages, locale en_US"

[yuiCompress] java.lang.reflect.InvocationTargetException 
[yuiCompress] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[yuiCompress] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[yuiCompress] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[yuiCompress] at java.lang.reflect.Method.invoke(Method.java:601) 
[yuiCompress] at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21) 
[yuiCompress] at ww.ant.YuiCompressorTask.execute(YuiCompressorTask.java:40) 
[yuiCompress] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
[yuiCompress] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
[yuiCompress] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[yuiCompress] at java.lang.reflect.Method.invoke(Method.java:601) 
[yuiCompress] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
[yuiCompress] at org.apache.tools.ant.Task.perform(Task.java:348) 
[yuiCompress] at org.apache.tools.ant.Target.execute(Target.java:390) 
[yuiCompress] at org.apache.tools.ant.Target.performTasks(Target.java:411) 
[yuiCompress] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
[yuiCompress] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
[yuiCompress] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
[yuiCompress] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
[yuiCompress] at org.apache.tools.ant.Main.runBuild(Main.java:809) 
[yuiCompress] at org.apache.tools.ant.Main.startAnt(Main.java:217) 
[yuiCompress] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
[yuiCompress] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
[yuiCompress] Caused by: java.util.MissingResourceException: Can't find bundle for base name org.mozilla.javascript.resources.Messages, locale en_US 
[yuiCompress] at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499) 
[yuiCompress] at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322) 
[yuiCompress] at java.util.ResourceBundle.getBundle(ResourceBundle.java:796) 
[yuiCompress] at org.mozilla.javascript.ScriptRuntime.getMessage(ScriptRuntime.java:3316) 
[yuiCompress] at org.mozilla.javascript.ScriptRuntime.getMessage0(ScriptRuntime.java:3273) 
[yuiCompress] at org.mozilla.javascript.Parser.addError(Parser.java:121) 
[yuiCompress] at org.mozilla.javascript.TokenStream.getToken(TokenStream.java:773) 
[yuiCompress] at org.mozilla.javascript.Parser.peekToken(Parser.java:161) 
[yuiCompress] at org.mozilla.javascript.Parser.parse(Parser.java:361) 
[yuiCompress] at org.mozilla.javascript.Parser.parse(Parser.java:337) 
[yuiCompress] at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312) 
[yuiCompress] at com.yahoo.platform.yui.compressor.JavaScriptCompressor.<init>(JavaScriptCompressor.java:533) 
[yuiCompress] at com.yahoo.platform.yui.compressor.YUICompressor.main(YUICompressor.java:131) 
[yuiCompress] ... 22 more 

que puede cambiar de nuevo a Java 1.6 de Apple y funciona bien Mi pregunta es, ¿hay alguna forma de evitar esto? Realmente no puedo continuar en 1.6 por más tiempo.

Respuesta

2

Decidí cambiar al compilador de cierres de Google, abandonando el último de los componentes de YUI que he usado a lo largo de los años. Recibo un montón de advertencias en el registro de compilación, pero funciona. suspiro

5

Una pregunta un poco vieja, pero hoy corro el mismo error.

En mi caso, el problema era un error de sintaxis en mi JavaScript, olvidé un} después de una operación de pegar & de corte.

que utiliza esta herramienta en línea (http://refresh-sf.com/yui/) para comprimir el archivo js, ​​y se volvió un error raro, pero más útil que la pila de excepción de Java ...

Esperanza esta ayuda ...

1

Pregunta muy vieja, pero si alguien todavía está usando yui-compress, tuve el mismo error y resultó que a yui-compress no le gusta seguir la coma después de los argumentos en las llamadas a funciones. Por ejemplo:

foo(a, b, c); 

está bien, pero

foo(a, b, c,); 

no lo es.

Cuestiones relacionadas