无法在Eclipse中运行/调试Java应用程序(JavaTimeZone问题)
我正试图在MacBook上开始使用Eclipse/Java/Scala。安装的JDK是1.5。Scala的SDT插件需要1.6版本,该版本包含在操作系统更新中,但我也手动安装了一个来自苹果的软件包来更新1.6版本。 问题是我不能从Eclipse运行任何东西。我总是遇到以下错误:
An internal error occurred during: "Launching TestFooBasicTest".
Could not initialize class com.ibm.icu.impl.JavaTimeZone
我还尝试使用旧的1.5版本,但没有用
这里出了什么问题
# 1 楼答案
检查Eclipse知道哪些JVM及其位置(首选项->;Java->;已安装的JRE),并检查程序的运行/调试配置。默认情况下,Eclipse知道用于启动自身的JRE以及手动添加的其他JRE。但是,如果您升级了一些组件,并且JRE发生了更改,Eclipse可能会对它们感到“困惑”
# 2 楼答案
问题是:
快速的google搜索显示,这个类属于IBM全球化包http://www-01.ibm.com/software/globalization/icu/index.jsp
有人猜测这是Scala内部使用的一个包,您没有正确安装它,导致Scala启动失败
# 3 楼答案
确保在运行配置(运行/运行配置)中设置java 1.6
# 4 楼答案
我试着用Ubuntu10.4和eclipse(Galileo3.5.2)和java(java-6-openJdk)运行scala程序时遇到了同样的问题——当然,还有从scala站点下载的scala插件。我通过手动更改/usr/lib/eclipse/plugins/com来修复它。国际商用机器公司icu_4.0.1。v20100125。jar,正如本线程中所建议的(顺便说一句,我发现Emacs可以就地更改jar文件:nice):
http://www.eclipse.org/forums/index.php?t=msg&goto=488654
这是由UbuntuOpenJDK包造成的,该包带有断开的时区配置符号链接。论坛线程的最佳解决方案是
# 5 楼答案
我对Windows上的Eclipse也有同样的问题。我尝试了很多不同的方法,包括在新的工作区中使用一个新的hello world程序。通过将Eclipse指向另一个要执行的JRE,我最终实现了这一点。我知道苹果为Mac提供了JRE,但这个问题似乎与Eclipse在运行Eclipse时遇到的JRE问题有关。请参阅here以配置使用哪个VM Eclipse执行
# 6 楼答案
你升级到雪豹了吗?您使用的是EclipseSWT/Carbon还是EclipseSWT/Cocoa?升级到SL后,我发现Eclipse有些奇怪。从Eclipse SWT/Carbon切换到Eclipse SWT/Cocoa有帮助。恢复我的1.5虚拟机(SL安装以一种偷偷摸摸的方式删除了它)(通过删除并保留指向1.6的符号链接)也帮助我修复了具有本地版本的Java代码(即usb串行端口代码)的几个问题