【问题标题】:Problem upgrading eclipse rcp app from 3.3 to 3.5 on Mac OS在 Mac OS 上将 eclipse rcp 应用程序从 3.3 升级到 3.5 时出现问题
【发布时间】:2010-03-16 14:11:35
【问题描述】:

我之前在 windows 和 mac OS X 10.4 上部署了一个基于 eclipse 3.3 pugins 的 eclipse rcp 应用程序。我现在正在尝试将应用程序移植到 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 文件中没有写入任何内容,所以我不确定有什么错误。

编辑:这是 Yourkit 分析在所有 cpu 活动停止之前所说的内容。

+----------------------------------------------------------------------------+----------------+-----------------+  
|                                    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]

【问题讨论】:

    标签: java cocoa eclipse macos eclipse-rcp


    【解决方案1】:

    Cocoa 64 位的 SWT 在 3.5 中不稳定。

    一开始不支持(见blog entry

    您可以检查最新的 eclipse 3.6M6 是否存在相同的问题。

    【讨论】:

    • 感谢您的回复,这些错误似乎都不是我遇到的完全相同的问题,但确实指向 Cocoa 64 位的不稳定。我还没有尝试过 eclipse 3.6,因为我更喜欢使用稳定版本进行生产版本。如果我不能解决这个问题,我可能会尝试作为最后的手段。
    • @Alb:我同意你的观点,我只提到 3.6 只是为了测试目的。我只是想知道您是否在最新的 Helios Eclipse 中看到同样的问题。
    【解决方案2】:

    原来是一些从主插件构造函数调用的代码导致了挂起。它将 jpeg 图像文件加载到 BufferedImage。这是在早期版本中添加的,作为修复mac版本代码中有关图像处理的一些错误的hack。现在看来,不仅不再需要它(删除后错误未重现),而且导致应用程序在启动时挂起!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 2014-03-02
      • 2020-03-26
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多