我有一个使用 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 参数运行该程序,但仍然没有任何运气。
有人对我可以开始寻找解决方案有任何想法或建议吗?
谢谢。
最佳答案
应用程序是捆绑的还是从命令行运行的?如果捆绑,您需要将键 StartOnMainThread
和值 true
放入 Info.plist 文件的 Java 字典中。如果未捆绑,则参数为 java -XstartOnFirstThread。是的,它们是不同的,是的,不幸的是,这很烦人。
关于java - Mac 上的 SWT 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2746539/