我遇到了一个问题,YUI Compressor在我的集成开发环境中工作得很好,甚至当我使用maven goal tomcat:run部署tomcat时也是如此,但当我将应用程序作为WAR文件运行时会抛出一个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
你可以在网络上的其他地方找到其他人提到的。
有人建议您需要将rhino文件与yui压缩器捆绑在同一个jar中,以避免类路径错误。
我看得更远,我意识到雅虎发布了2.4.7版本,它做到了这一点。因此,我将这个新版本包含到我的项目中,并确保删除了其他jars,但我仍然收到相同的错误。
我该如何解决这个问题?
发布于 2013-02-26 17:33:07
如果您正在使用maven构建仅排除rhino或从classpath中删除js-1.7R2.jar / rhino-1.7R4.jar/ rhino-1.7R3.jar文件,
<dependency>
<groupId>com.yahoo.platform.yui</groupId>
<artifactId>yuicompressor</artifactId>
<version>2.4.7</version>
<exclusions>
<exclusion>
<artifactId>js</artifactId>
<groupId>rhino</groupId>
</exclusion>
</exclusions>
</dependency>希望它能解决你的问题。
发布于 2012-02-01 16:44:39
检查您的类路径并删除rhino-.jar(先备份),然后重试。我在删除rhino-.jar后解决了同样的问题。
发布于 2012-04-23 19:54:29
这个问题应该可以解决您的问题,特别是如果您使用maven:
https://stackoverflow.com/questions/8429095
复制相似问题