我以前有一个基于eclipse 3.3 pugins的eclipse rcp应用程序部署在windows和mac OS X 10.4上。我现在正试图在Mac OS X 10.5.8(Leopard)上将应用程序移植到java 1.6和eclipse 3.5(Build id:20100218-1602)插件。
我可以在Windows上从eclipse 3.5启动产品,但不能在Mac OS X上启动。我有64位cocoa eclipse IDE和java 6.在启动配置中,我将运行时JRE设置为JVM 1.6.0并添加了所需的插件。插件验证,其他所有内容都与Windows配置类似,但是当我启动时,我只在控制台中获得以下两行:
2010-03-16 13:29:32.742 java[758:10b] [Java CocoaComponent compatibility mode]: Enabled
2010-03-16 13:29:32.744 java[758:10b] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
然后程序似乎无限期挂起。没有任何内容写入.log文件,所以我不确定它有什么错误。
编辑:在所有cpu活动停止之前,这是Yourkit分析所说的内容。
+----------------------------------------------------------------------------+----------------+-----------------+
| Name | Time (ms) | Own Time (ms) |
+----------------------------------------------------------------------------+----------------+-----------------+
| +---<All threads> | 2,799 100 % | |
| | | | |
| +---org.eclipse.equinox.launcher.Main.main(String[]) | 1,924 69% | 0 |
| | | | |
| +---org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run() | 632 23 % | 0 |
| | | | |
| +---java.lang.Thread.run() | 135 5 % | 0 |
| | | | |
| +---java.lang.ClassLoader.loadClassInternal(String) | 106 4 % | 0 |
+----------------------------------------------------------------------------+----------------+-----------------+
,这在例外标签中:
Exception staticstics
+----------------------------------------+--------------+
| Name | Count |
+----------------------------------------+--------------+
| +---java.lang.ClassNotFoundException | 102 11 % |
| | | |
| +---java.net.MalformedURLException | 4 0 % |
| | | |
| +---java.lang.NoSuchMethodException | 3 0 % |
| | | |
| +---java.lang.NumberFormatException | 2 0 % |
| | | |
| +---java.io.FileNotFoundException | 1 0 % |
| | | |
| +---java.lang.UnsatisfiedLinkError | 1 0 % |
+----------------------------------------+--------------+
以及上面提到的ClassNotFoundExceptions
的详细信息:
java.lang.ClassNotFoundException
Start Level Event Dispatcher native ID: 0x8B0B group: 'main' 78
Thread-4 native ID: 0x10B group: 'main' 22
Framework Event Dispatcher native ID: 0xD207 group: 'main' 2
任何人都知道为什么我在Eclipse或任何日志文件中都没有看到这样的痕迹?我应该看看哪些想法?
[更新日期:2010年3月16日星期二09:37]
答案 0 :(得分:0)
可可64位的SWT对于3.5来说是不稳定的。
首先不支持它(请参阅此blog entry)
您可以检查是否在最新的eclipse 3.6M6中看到了同样的问题。
答案 1 :(得分:0)
原来是一些从主插件构造函数调用的代码导致挂起。它将jpeg图像文件加载到BufferedImage。这已在早期版本中添加为黑客,以修复有关代码的mac版本上的图像处理的一些错误。现在它似乎不仅不再需要了(删除后bug没有重现)但它会导致应用程序在启动时挂起!