在Mac上使用SWT的问题

我有一个使用SWT UI的java项目,我在任何Mac OS X计算机上部署都遇到了问题。 当程序从Eclipse中运行或从jar文件运行时,程序本身在Windows上运行良好。 在Mac上,该程序在Eclipse中也可以正常工作,但是当我尝试从jar文件运行它时,我收到以下错误:

2010-04-30 13:33:04.564 java[17825:41b] *** _NSAutoreleaseNoPool(): Object 0x10b9b0 of class NSCFString autoreleased with no pool in place - just leaking Stack: (0x944acf4f 0x943b9432 0x678fb79 0x35a19b1 0x359ba7f) 2010-04-30 13:33:04.566 java[17825:41b] *** _NSAutoreleaseNoPool(): Object 0x115ef0 of class NSCFNumber autoreleased with no pool in place - just leaking Stack: (0x944acf4f 0x943b9432 0x678a0b0 0x35a19b1 0x359ba7f) 2010-04-30 13:33:04.567 java[17825:41b] *** _NSAutoreleaseNoPool(): Object 0x121000 of class NSCFString autoreleased with no pool in place - just leaking Stack: (0x944acf4f 0x943b9432 0x678fb79 0x35a19b1) 2010-04-30 13:33:04.581 java[17825:41b] *** _NSAutoreleaseNoPool(): Object 0x123720 of class NSPathStore2 autoreleased with no pool in place - just leaking Stack: (0x944acf4f 0x943ba637 0x943c238f 0x943c1e8e 0x943c694b 0x678992e 0x35a19b1) 2010-04-30 13:33:04.582 java[17825:41b] *** _NSAutoreleaseNoPool(): Object 0x12d660 of class NSPathStore2 autoreleased with no pool in place - just leaking Stack: (0x944acf4f 0x943ba637 0x943b9739 0x943c3eb2 0x943c6b22 0x678992e 0x35a19b1) ... ... ... 

实际错误要大得多,并一直持续到程序崩溃。

我知道我正在使用正确的swt.jar文件,我尝试使用-XstartOnFirstThread VM参数运行该程序,但仍然没有任何运气。

有没有人有任何想法或建议我可以开始寻找解决方案?

谢谢。

是捆绑应用程序还是从命令行运行它? 如果是捆绑的,则需要在Info.plist文件的Java字典中放置值为StartOnMainThread的值为true 。 如果没有捆绑,则参数为java -XstartOnFirstThread 。 是的,他们是不同的,是的,不幸的是,令人讨厌。

SWT没有垃圾收集。我的猜测是你运行的代码导致操作系统内存泄漏,这是通过eclipse控制台报告的。

错误消息不是Java错误消息,而是Obj-c错误消息,我确认了我的怀疑。

你可以在这里阅读更多相关信息.. http://www.eclipse.org/articles/swt-design-2/swt-design-2.html

这是一个关于你实际看到的Obj-c错误的链接。 http://www.idevgames.com/forum/archive/index.php/t-7710.html

祝好运!