Не удается запустить/отладить Java-приложения в Eclipse (проблема JavaTimeZone)

Я пытаюсь начать работу с Eclipse/Java/Scala на MacBook. Установленный JDK был 1,5. Плагин SDT для Scala требует 1.6, который был включен в обновление ОС, но я также вручную установил пакет из Apple для обновления 1.6. Проблема в том, что я ничего не могу запустить из Eclipse. Я всегда получаю следующую ошибку:

An internal error occurred during: "Launching TestFooBasicTest". Could not initialize class com.ibm.icu.impl.JavaTimeZone

Я также попытался использовать старую версию 1.5, но безрезультатно.

Что здесь происходит?

Ответ 1

У меня была та же проблема, что и при запуске программы scala с Ubuntu 10.4 и запасом eclipse (Galileo 3.5.2) и java (java-6-openJdk) - и scala, загружаемым с сайта scala, конечно. Я исправил его, вручную изменив /usr/lib/eclipse/plugins/com.ibm.icu_4.0.1.v20100125.jar, как было предложено в этом потоке (кстати, я обнаружил, что Emacs может изменить файл jar на месте: nice):

http://www.eclipse.org/forums/index.php?t=msg&goto=488654

Это вызвано пакетом ubuntu openjdk со сломанными символьными ссылками для конфигурации TimeZone. Лучшее решение из темы форума,

Повторная установка tzdata-java была исправлена ​​для меня:

sudo apt-get --reinstall install tzdata-java

Ответ 2

Проблема заключается в следующем:

An internal error occurred during: "Launching TestFooBasicTest". Could not initialize class com.ibm.icu.impl.JavaTimeZone

Быстрый поиск в Google показывает, что этот класс принадлежит к ICU IBM Globalization. http://www-01.ibm.com/software/globalization/icu/index.jsp

Предполагалось, что это пакет, используемый внутри Scala, который вы не установили должным образом, в результате чего сбой запуска Scala.

Ответ 3

Убедитесь, что вы установите java 1.6 в конфигурации запуска (Run/Run).

Ответ 4

Вы перешли на Snow Leopard? Используете ли вы Eclipse SWT/Carbon или Eclipse SWT/ Cocoa? Когда я обновился до SL, я увидел некоторую странность с Eclipse. Переключение на Eclipse SWT/Cocoa из Eclipse SWT/Carbon помогло. Также восстановление моей 1.5 VM, которую SL-установка удаляет скрытным способом (путем удаления и выхода из символической ссылки, указывающей на 1.6), помогло мне исправить несколько проблем с Java-кодом, который имел туземцы (например, usb-serial port code).

Ответ 5

Проверьте, что представляют собой JVM, о которых известно Eclipse и где они расположены (Preferences → Java → Installed JRE), а также проверьте конфигурацию запуска/отладки ваших программ. По умолчанию Eclipse знает о JRE, который использовался для запуска, и других JRE, которые вы добавляете вручную. Однако, если вы обновите некоторые компоненты и измените JRE, Eclipse может "запутаться" в них.

Ответ 6

У меня была такая же проблема с Eclipse в Windows. Я попробовал несколько разных вещей, включая новую программу приветствия в новой рабочей области. Я, наконец, получил это для работы, указав Eclipse на другую JRE для выполнения. Я знаю, что Apple предоставляет JRE для Mac, но похоже, что эта проблема связана с тем, что Eclipse испытывает проблемы с JRE, используемым для запуска самого Eclipse. См. здесь для настройки того, с чем выполняется VM Eclipse.