Компрессор YUI создает исключение StringIndexOutOfBoundsException при запуске в Tomcat из WAR - PullRequest
4 голосов
/ 08 декабря 2011

У меня проблема с тем, что YUI Compressor отлично работает в моей IDE и даже когда я развертываю tomcat с использованием цели maven tomcat:run, но выдает исключение StringIndexOutOfBoundsException при запуске приложения в виде файла WAR:

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 StringIndexOutOfBoundsException на jboss

Вы можете найти других людей, упоминающих в других местах наweb.

Было предложено объединить файлы rhino с компрессором yui в одном банке, чтобы избежать ошибки classpath.

Я посмотрел дальше и понял, что Yahoo выпустилаверсия 2.4.7, которая делает это.Таким образом, я включил эту новую версию в свой проект и удостоверился, что удалил другие jar-файлы, и все еще получаю ту же ошибку.

Как мне это исправить?

Ответы [ 3 ]

4 голосов
/ 26 февраля 2013

Если вы используете maven, создайте только исключение носорога или удалите файл js-1.7R2.jar / rhino-1.7R4.jar / rhino-1.7R3.jar из вашего classpath,

<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>

Надеюсь, это решит вашу проблему.

2 голосов
/ 01 февраля 2012

проверьте ваш путь к классу и удалите rhino- .jar (сначала сделайте резервную копию), попробуйте снова. Я решил ту же проблему после удаления rhino- .jar.

1 голос
/ 23 апреля 2012

Этот вопрос должен решить вашу проблему, особенно если вы используете maven:

Yui компрессор StringIndexOutOfBoundsException на jboss

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...