我遇到問題,YUI Compressor在我的IDE中正常工作,甚至當我使用maven目標tomcat:run
部署tomcat但在運行應用程序時拋出StringIndexOutOfBoundsException爲WAR文件:YUI Compressor在WAR中運行時在Tomcat中運行時發生StringIndexOutOfBoundsException
java.lang.StringIndexOutOfBoundsException: String index out of range: 412
at java.lang.String.substring(String.java:1934)
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.printSourceString(JavaScriptCompressor.java:267)
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:330)
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.<init>(JavaScriptCompressor.java:533)
現在,我知道有很多人已經報告這個問題,比如下面: Yui compressor StringIndexOutOfBoundsException on jboss
你可以找到其他人提在網絡上其他地方。
有人建議您需要將犀牛文件與yui壓縮器捆綁在同一個jar中以避免類路徑錯誤。
我看得更遠了,我意識到雅虎發佈了2.4.7版本,它是這樣做的。所以我將這個新版本加入到我的項目中,並確保刪除其他罐子,我仍然得到相同的錯誤。
我該如何解決這個問題?
上面的classpath起因於'org/mozilla/javascript/Parser'類在yuicompressor中比在rhino中有不同的實現,特別是在使用maven的webapp構建中特別看到。 問題可以通過以下博客鏈接來解決http://www.julienlecomte.net/blog/2008/10/80/ – Sandy