После загрузки и установки Grails 2.4.0 я получаю следующее предупреждение при запуске любой команды grails, включая grails -version:

ВНИМАНИЕ: модуль [groovy-all] - невозможно загрузить класс расширения [org.codehaus.groovy.runtime.NioGroovyMethods]

Поиск в Интернете обнаружил это сообщение о groovy: http://permalink.gmane.org/gmane.comp .lang.groovy.user / 64538

И это, которое включает, но не конкретно об этом предупреждении: https://jira.grails.org/browse/GPFILTERPANE-125

Я использую Mac OS X 10.9.3, версия java "1.7.0_40".

Это ложная ошибка, которую можно игнорировать? Пока что grails, похоже, работает нормально, но я подумал, что опубликую об этом, чтобы узнать, испытывали ли другие что-то подобное.

7
augustearth 28 Май 2014 в 23:48

3 ответа

Лучший ответ

Проблема в том, что grails устанавливает JAVA_HOME в / Library / Java / Home, если JAVA_HOME не установлен. Скорее всего, ваша система имеет более старый jdk (1.6) в этом каталоге. Как уже упоминалось параноиком, для этого требуется jdk 1.7. Следовательно, даже если у вас установлен jdk1.7, но grails его вообще не использует.

Вот решение этой проблемы:

  1. Загрузите и установите Oracle JDK, который будет установлен в /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk (скажем, если вы установите jdk1.7u51)
  2. Выполните следующие команды, чтобы изменить настройки системы, если вы не хотите явно устанавливать JAVA_HOME
cd /System/Library/Frameworks/JavaVM.framework/Versions 
rm CurrentJDK 
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents CurrentJDK

Тогда предупреждение должно исчезнуть.

8
Mingjiang Shi 18 Сен 2014 в 08:52
  1. Установить Java 7

  2. Нашел где находится Java 7 Home.

В Mac OS запустите / usr / libexec / java_home. Например, мой дом /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home

  1. Создайте переменные окружения GRAILS_HOME, JAVA_HOME и добавьте их в PATH и в .bash_profile

Например, содержимое моего файла .bash_profile:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
export GRAILS_HOME=/Users/admin/work/grails
export PATH=$JAVA_HOME:$GRAILS_HOME/bin:$PATH

Теперь grails использует jdk7 и без предупреждений.

6
Rio 31 Июл 2014 в 11:21

Для модуля groovy.nio.2.3.0.jar требуется Java 7 или новее, поэтому вы получаете сообщение об ошибке.

Вы можете обновить свою версию Java или удалить этот модуль. Предупреждение по сути безвредно.

0
paranoid 24 Июн 2014 в 16:39