无法在Eclipse中运行/调试Java应用程序(JavaTimeZone问题)

无法在Eclipse中运行/调试Java应用程序(JavaTimeZone问题),java,eclipse,macos,Java,Eclipse,Macos,我正试图在MacBook上开始使用Eclipse/Java/Scala。安装的JDK是1.5。Scala的SDT插件需要1.6版本,该版本包含在操作系统更新中,但我也手动安装了一个来自苹果的软件包来更新1.6版本。 问题是我不能从Eclipse运行任何东西。我总是遇到以下错误: “启动TestFooBasicTest”期间发生内部错误。 无法初始化类com.ibm.icu.impl.JavaTimeZone 我还尝试使用旧的1.5版本,但没有用 这里出了什么问题?问题是: An intern

我正试图在MacBook上开始使用Eclipse/Java/Scala。安装的JDK是1.5。Scala的SDT插件需要1.6版本,该版本包含在操作系统更新中,但我也手动安装了一个来自苹果的软件包来更新1.6版本。 问题是我不能从Eclipse运行任何东西。我总是遇到以下错误:


“启动TestFooBasicTest”期间发生内部错误。
无法初始化类com.ibm.icu.impl.JavaTimeZone

我还尝试使用旧的1.5版本,但没有用

这里出了什么问题?

问题是:

An internal error occurred during: "Launching TestFooBasicTest". Could not initialize class com.ibm.icu.impl.JavaTimeZone
快速的google搜索显示,这个类属于IBM全球化包


有人猜测这是Scala内部使用的软件包,您没有正确安装,导致Scala启动失败。

请确保在运行配置(运行/运行配置)中设置java 1.6。

您升级到Snow Leopard了吗?您使用的是EclipseSWT/Carbon还是EclipseSWT/Cocoa?升级到SL后,我发现Eclipse有些奇怪。从Eclipse SWT/Carbon切换到Eclipse SWT/Cocoa有帮助。恢复我的1.5虚拟机(SL install以一种偷偷摸摸的方式删除了它(通过删除并保留指向1.6的符号链接),帮助我修复了一些本地Java代码(即usb串行端口代码)的问题。

检查Eclipse知道哪些JVM以及它们位于何处(首选项->Java->安装的JRE),并检查程序的运行/调试配置。默认情况下,Eclipse知道用于启动自身的JRE以及手动添加的其他JRE。但是,如果您升级了一些组件,并且JRE发生了更改,Eclipse可能会对它们感到“困惑”。

我在Windows上遇到了与Eclipse相同的问题。我尝试了很多不同的方法,包括在新的工作区中使用一个新的hello world程序。通过将Eclipse指向另一个要执行的JRE,我最终实现了这一点。我知道苹果为Mac提供了JRE,但这个问题似乎与Eclipse在运行Eclipse时遇到的JRE问题有关。请参阅以了解如何配置使用哪个VM Eclipse执行。

我在尝试使用Ubuntu 10.4和股票Eclipse(Galileo 3.5.2)和java(java-6-openJdk)以及从scala站点下载的scala插件运行scala程序时遇到了同样的问题。我通过手动更改/usr/lib/eclipse/plugins/com.ibm.icu_4.0.1.v20100125.jar(顺便说一句,我发现Emacs可以就地更改jar文件:nice)来修复它:

这是由UbuntuOpenJDK包造成的,该包带有断开的时区配置符号链接。论坛线程的最佳解决方案是

重新安装tzdata java对我来说是一个解决方案:


即使没有安装Scala,问题仍然存在。所以,我认为这不是原因-(有意思。在这种情况下,请尝试创建一个Hello World程序。如果由于上述错误而失败,那么创建一个新的工作区并在其中创建一个Hello World程序。如果同样失败(我认为不会),那么我想您需要一个新的Eclipse发行版。Eclipse使用的是ICU,但java.util.TimeZone.getAvailableIDs()正在引发异常。因此这是一个Java问题。在add-Dcom.ibm.icu.util.TimeZone.DefaultTimeZoneType=icu to eclipse.InInstall tzdata Java works中可以找到一个更好的解决方案!看起来最新的Ubuntu更新“sudo-apt-get--reinstall-tzdata Java”很有魅力!你能编辑答案让它变得更好吗您的答案中的第一件事是什么?@iddo将该属性添加到eclipse.ini并没有修复我在eclipse中失败的测试(我让NPE从模拟对象返回日期中获取时区)。重新安装tzdata java对我有效。(测试在eclipse之外也失败了)。我在一个较新的线程上发布了一个关于这方面的问题,
sudo apt-get --reinstall install tzdata-java