无法在Eclipse中运行/调试Java应用程序(JavaTimeZone问题)
我正在尝试在MacBook上开始使用Eclipse / Java / Scala。 已安装的JDK为1.5。 Scala的SDT插件需要1.6,它包含在操作系统更新中,但我还手动安装了Apple的软件包以更新1.6。 问题是我无法从Eclipse运行任何东西。 我总是收到以下错误:
An internal error occurred during: "Launching TestFooBasicTest". Could not initialize class com.ibm.icu.impl.JavaTimeZone
我也尝试使用旧的1.5版本,但无济于事。
这里出了什么问题?
我尝试使用Ubuntu 10.4和stock eclipse(Galileo 3.5.2)和java(java-6-openJdk)运行scala程序时遇到了同样的问题 – 当然,还有从scala站点下载的scala pluging。 我通过手动更改/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配置的符号链接。 论坛post的最佳解决方案是,
重新安装tzdata-java是我的修复:
sudo apt-get --reinstall install tzdata-java
问题是:
An internal error occurred during: "Launching TestFooBasicTest". Could not initialize class com.ibm.icu.impl.JavaTimeZone
快速谷歌搜索显示该类属于IBM Globalization包ICU。 http://www-01.ibm.com/software/globalization/icu/index.jsp
一个猜测是,这是Scala内部使用的软件包,你没有正确安装,导致Scala启动失败。
确保在运行配置(运行/运行配置)中设置java 1.6。
你升级到Snow Leopard了吗? 您使用的是Eclipse SWT / Carbon还是Eclipse SWT / Cocoa? 升级到SL后,我发现Eclipse有些奇怪。 从Eclipse SWT / Carbon切换到Eclipse SWT / Cocoa有帮助。 还要恢复我的1.5 VM,SL安装以偷偷摸摸的方式删除(通过删除并留下指向1.6的符号链接),帮助我修复了具有本机的Java代码(即usb-serial端口代码)的几个问题。
检查Eclipse知道哪些JVM及其所在位置(首选项 – > Java – >已安装的JRE),还要检查程序的运行/调试配置。 默认情况下,Eclipse知道用于启动自身的JRE以及您手动添加的其他JRE。 但是,如果升级某些组件并更改了JRE,Eclipse可能会对它们感到“困惑”。
我在Windows上遇到了与Eclipse相同的问题。 我尝试了许多不同的东西,包括在新工作区中新的hello world程序。 我终于通过将Eclipse指向要执行的不同JRE来实现此目的。 我知道Apple为Mac提供了JRE,但看起来这个问题似乎与Eclipse有关用于运行Eclipse本身的JRE有关。 请参阅此处以配置Eclipse执行的VM。