Я часто получаю то, что кажется ошибкой stackoverflow ;-) от YUICompressor. Ниже является первой частью тысяч строк ошибок, которые приходят от попыток сжать 24074 байт таблицы стилей CSS (не «причиненный java.lang.StackOverflowError около 8 строк вниз):Сбой YUICompressor - ошибка stackoverflow
iMac1:src jas$ min ../style2.min.css style2.css
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21)
Caused by: java.lang.StackOverflowError
at java.lang.Character.codePointAt(Character.java:2335)
at java.util.regex.Pattern$CharProperty.match(Pattern.java:3344)
at java.util.regex.Pattern$Branch.match(Pattern.java:4114)
... (плюс 1021 больше строк ошибок)
Ошибки происходят обычно после добавления пары строк в сжатый файл. Css отлично работает и отлично работает в несжатом формате. Я не вижу конкретного шаблона для типов селекторов, добавленных в файл, которые вызывают ошибки. В этом случае добавление следующего селектора в ранее сжимаемый файл приводило к ошибкам:
#thisisatest
{
margin-left:87px;
}
Мне интересно, есть ли флаг java для увеличения стека, который может помочь. Или, если это не проблема, что это такое?
EDIT:
Как я отправлял этот вопрос, до меня дошло, что я должен проверить команду Java, чтобы увидеть, есть ли параметр, чтобы увеличить стек. Оказывается, что это -Xssn, где «n» - это параметр, указывающий размер стека. Его значение по умолчанию - 512 тыс. Поэтому я попробовал 1024k, но это все равно привело к потоку stackoverflow. Тем не менее, попытка 2048k работает, и я думаю, что это может быть решением.
как я могу установить значение по умолчанию -Xssn для java? –