【发布时间】:2026-02-07 23:35:02
【问题描述】:
我正在开发一个相当复杂的Java 应用程序混合Swing 和SWT。每当我启动应用程序时,这是控制台输出(并且应用程序不显示):
2012-12-19 12:45:45.359 java[3442:f07] [Java CocoaComponent compatibility mode]: Enabled
2012-12-19 12:45:45.360 java[3442:f07] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
我遵循了许多指南和教程设置:
System.setProperty("com.apple.awt.CocoaComponent.CompatibilityMode", "false");-XstartOnSecondThread--launcher-on-secondThread
现在我真的没有任何线索。使我的应用程序在Mac OSX 上运行的唯一方法是export the Eclipse project to a JAR executable。好吧,这很烦人。有人可以向我解释如何设置上面的这些属性吗?有什么魔术吗?
编辑:我正在使用:
OSX Mountain Lion 10.8.2 ,
Java 1.6u37 64bit,
SWT 4.2 cocoa x64,
Windows XP ,
Java 1.6u37 32bit,
SWT 4.2 32bit
【问题讨论】:
-
什么版本的 Eclipse?
-
现在我正在下载 Indigo ...希望这能解决问题
-
不,它也不适用于 Indigo
-
您是说从 Eclipse 运行时您不设置这些属性?如果要设置它们,如何设置?
-
您似乎需要在运行/调试配置中在
-vmargs之后设置它,在eclipse.ini中设置它应该无效。我想你只会想要-vmargs -Dcom.apple.awt.CocoaComponent.CompatibilityMode=false -XstartOnFirstThread。您不应该需要--launcher.secondThread,因为这只会影响 Swing 启动器。据我所知,没有-XstartOnSecondThread这样的东西。