首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YUI Compressor在Tomcat中运行时抛出StringIndexOutOfBoundsException

YUI Compressor在Tomcat中运行时抛出StringIndexOutOfBoundsException
EN

Stack Overflow用户
提问于 2011-12-08 17:55:29
回答 3查看 2.5K关注 0票数 4

我遇到了一个问题,YUI Compressor在我的集成开发环境中工作得很好,甚至当我使用maven goal tomcat:run部署tomcat时也是如此,但当我将应用程序作为WAR文件运行时会抛出一个StringIndexOutOfBoundsException:

代码语言:javascript
复制
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,但我仍然收到相同的错误。

我该如何解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2013-02-26 17:33:07

如果您正在使用maven构建仅排除rhino或从classpath中删除js-1.7R2.jar / rhino-1.7R4.jar/ rhino-1.7R3.jar文件,

代码语言:javascript
复制
<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>

希望它能解决你的问题。

票数 4
EN

Stack Overflow用户

发布于 2012-02-01 16:44:39

检查您的类路径并删除rhino-.jar(先备份),然后重试。我在删除rhino-.jar后解决了同样的问题。

票数 2
EN

Stack Overflow用户

发布于 2012-04-23 19:54:29

这个问题应该可以解决您的问题,特别是如果您使用maven:

Yui compressor StringIndexOutOfBoundsException on jboss

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8429095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档