14

とをJava組み合わせたかなり複雑なアプリケーションを開発しています。アプリケーションを起動するたびに、これはコンソール出力です (そしてアプリは表示されません):SwingSWT

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 OSXexport 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 
4

3 に答える 3

1

私は、誰もが Eclipse を使用している Java ショップで働いており、OS X ユーザーであるため、この問題に何度か遭遇しました。

修正は少し奇妙です。

「Installed JREs」設定から現在の JRE を削除してから、再度追加する必要があります。その際、必ず「Mac OS X JVM」ではなく「標準 JVM」を選択してください。

JRE を追加するのは少し面倒なので、追加する前に「場所」のパス文字列を書き留めておいてください。「Type」プロパティを変更するだけで、同じ場所を指します。

だから、私の答えは間違っています。Swing/AWT のみを実行している場合は適切ですが、これを投稿した直後にユーモラスなことに、SWT_AWT boondoggle を作成する必要があり、上記の設定を使用しても Mac で同じエラーが発生しました。イベントループに関するSwing / AWTとSWTの違いに関係していると思われます(SWT =自分のものを持ってくる、Swing = JVMによって提供される)。IntelliJ IDEA 12でもエラーが発生するため、Eclipseの問題だけではありません。

于 2013-02-20T16:22:47.973 に答える
0

グラフを生成するためにjarを使用したときに、同様の問題が発生しました。je jar は、OSX と互換性がないように見える swt を使用しました。swtを使用している場合、またはswtを使用してjarをインポートした場合は、それを削除して、awtを使用する同等のものを見つけてください

于 2015-02-14T00:47:33.393 に答える
0

Eclipse Indigo をダウンロードしていることがわかりますが、これはあなたができる最善の方法です。Juno にはバグがあり、以前のリリースよりも多くのパフォーマンスを消費するため速度も遅くなります。インディゴがベストだと思います。Java が移植可能でマルチプラットフォームであることは知っていますが、Apple デバイスで作業した後、Java とのある種の非互換性を発見しました。Java のせいではなく、iOS のせいだと思います。 Ubuntu を使用した仮想マシン。そのため、好みの Linux ディストリビューションで同じことを試すことができます。

于 2013-02-20T12:55:58.620 に答える