Ошибка JRuby 1.7.1 и PsychParser при разборе файла YAML UTF-8 (Rails 3.2.8)

В нашем проекте JRuby/Rails мы используем i18n жемчужина и поддержка японского, а также английского языка. наш config/locales.ja.yml Файл в UTF-8, без какой-либо спецификации.

При беге Rails 3.2.9 на JRuby 1.7.1 Теперь мы видим следующую ошибку:

% jruby -S rake spec:models

 Psych::SyntaxError: (C:/Projects/foobar/trunk/config/locales/ja.yml): 
   expected <block end>, but found Scalar while parsing a block 
   mapping at line 7 column 33

   parse at org/jruby/ext/psych/PsychParser.java:213
   ... 

Эта ошибка для разбора YAML ja.yml В настоящее время файл используется как в наших средах разработки для Windows XP, так и в Linux, и кажется, что он исчезает, только если мы явно установили следующий системный параметр для JVM:

-Dfile.encoding=utf-8

Может ли кто-нибудь сказать мне, почему это происходит на JRuby 1.7.1 ?
Я не видел этого в 1.6.8 или же 1.7.0,

1 ответ

Решение

Уже более года, но вот ответ:

http://jruby.org/2012/12/03/jruby-1-7-1.html

В этом выпуске это произошло:

  • Движок Psych YAML обновлен до последней версии
Другие вопросы по тегам