簡體   English   中英

JAVA SWT / AWT Eclipse Mac OSX Java Cocoa CompatibilityMode已啟用

[英]JAVA SWT/AWT Eclipse Mac OSX Java Cocoa CompatibilityMode Enabled

我正在開發一個混合SwingSWT的相當復雜的Java應用程序。 每當我啟動應用程序時,這是控制台輸出(並且應用程序不會顯示):

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

我遵循了許多指南和教程設置:

  1. System.setProperty("com.apple.awt.CocoaComponent.CompatibilityMode", "false");
  2. -XstartOnSecondThread
  3. --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 

我曾經多次遇到這個問題,因為我在一個Java商店工作,每個人都使用Eclipse,而我是OS X用戶。

修復有點奇怪。

您需要從“已安裝的JRE”首選項中刪除當前的JRE,然后再次添加它。 執行此操作時,請確保選擇“標准JVM”而 不是 “Mac OS X JVM”。

添加JRE有點煩人,因此在執行此操作之前請記下“位置”路徑字符串。 您將它指向同一個地方,只需更改“類型”屬性即可。

所以,我的回答是錯誤的。 如果你只是在做Swing / AWT,這是相關的,但是在發布之后我立即幽默地寫了一個SWT_AWT boondoggle並且我在我的Mac上得到了同樣的錯誤,即使使用上述設置也是如此。 我懷疑它與Swing / AWT和SWT之間關於事件循環的差異有關(SWT =自帶,Swing =由JVM提供)。 我也在IntelliJ IDEA 12中得到錯誤,所以它不僅僅是一個Eclipse問題。

我在Macbook中遇到了同樣的問題,因為我可以看到你正在下載Eclipse Indigo,這是你能做的最好的。 Juno有bug,也很慢,因為它比以前的版本消耗更多的性能。 我認為Indigo是最好的選擇。 我知道Java是可移植和多平台的,但是在使用蘋果設備之后我發現了一些與Java的不兼容性,我認為不是因為Java,而是因為iOS,這就是為什么對我來說我能做的最好就是安裝一個使用Ubuntu的虛擬機。 因此,您可以嘗試使用您喜歡的Linux發行版。

當我使用jar來生成圖表時,我遇到了類似的問題。 je jar使用的swt似乎與OSX不兼容。 如果您正在使用swt或使用swt導入了jar,請嘗試刪除它並使用awt來修復等效項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM