2009-06-30 15 views
2

Mac OSX 10.5.7にアップデートしたばかりで、いつでもSwingUIベースのダイアログが表示されるので、アプリケーションがクラッシュします。文字通りすべてがうまくいきました。私はちょうどプロジェクトで良い進歩を遂げ、休憩を取ってアップデートをインストールすることに決めました。私はアプリケーションを起動して、swingUIベースの要素が現れるとアプリケーションがクラッシュするのをいつでも発見します。これは私の問題のもっともらしい原因のように思えるのでしょうか、それともちょっと偶然の偶然でしょうか?このアップデートの後、誰もこの種の問題を抱えていますか?Mac OSX udpate 10.5.7とswingUIの問題点

+0

あなたはどんな種類の例外を表示していますか、どのJavaのバージョンを実行していますか? – akf

+0

私はJavaバージョン1.5.0_19を使用していますが、例外はmallocエラーです。非整列ポインタが解放されています – Mike2012

+1

恐ろしい、JNIエラーのようです。とにかく、以前のJVMにダウングレードしたり、後で試してみることができます。あなたのマシンに複数のJVMを喜んで共存させることができます。 –

答えて

1

はたぶん、あなたは10.5.7に対してリンクquaqua JNIライブラリの新しいバージョンが必要ですか?

0

ヒントのスタックトレースを確認する必要があります。私はEclipseやxcodeのようなIDEを使用していることを願っています。スタックトレースを送信することができます。それはもっと役に立つと思う。

+0

残念ながら、このプロジェクトはIDEなしで作成され、antの呼び出しでbuild.xmlファイルを使用してコンパイルされました。 – Mike2012

1

MacでVMをアップデートしようとしましたか?新しい更新プログラムは、最近出てきた:

Java for Mac OS X 10.5 Update 4 delivers improved reliability, security, and compatibility for Java SE 6, J2SE 5.0 and J2SE 1.4.2 on Mac OS X 10.5.7 and later. This release updates Java SE 6 to version 1.6.0_13, J2SE 5.0 to version 1.5.0_19, and J2SE 1.4.2 to 1.4.2_21.

0

私は、Swing UIのアプリのカップルを持っていると、彼らは10.5.7の下でクラッシュしないでください。どのJavaバージョンを使用していますか?私は1.6.0_13でテストしましたが、これは最新のバージョンです。私はこのプログラムをコンパイルしましたが、うまく動作します。

import javax.swing.*; 

public class SwingTest { 

public static void main(String[] args) { 
    JOptionPane.showMessageDialog(null, "x", "z", JOptionPane.INFORMATION_MESSAGE); 
    System.exit(0); 
} 

} 
0

これは完全に可能です。 Javaのバージョンが更新された場合(10.5.7では、最近JVMを更新するように求められましたが、OSを更新してから数週間後)... Javaのアップデートは伝統的にいくつかのSwing Appsを壊しています。

使用すると、Java -versionとバージョンを行う場合、これらは10.5.7以降のみですので、あなたは、それが10.5.7のアップデートに付属していることを確認することができますこれらの

1.6.0_13 
1.5.0_19 
1.4.2_21 

のいずれかです。

コマンドラインから(スタックトレースを表示するために)javaコマンドを実行します。これは間違いなく問題を明らかにするでしょう。あなたが開発者であれば、スウィングの仕組みが間違っていたかどうかを簡単に把握することができます。

一方、のは科学的なことしてみましょう:それは偶然の一致かもしれない:)

0

Appleが何らかの理由で石英にJava 5のレンダリングエンジンを元に戻します。 java 6を使用するか、apple.awt.graphics.UseQuartzをfalseに設定してみてください(コマンドラインまたはInfo.plistの場合はそれが何であれ)。

編集:アップルのJava-devのリストについて、より詳細な議論:http://lists.apple.com/archives/java-dev/2009/Jun/msg00306.html

+0

このリンクをありがとうございました。残念ながら、Javaバージョンを元に戻す簡単な方法はないようです。アップルのテクニカルサポート担当者によると、あなたはアーカイブを行い、事前に更新されたバージョンにインストールして、それが来たら、javaアップデートをインストールしないことを選択する必要があります。これが間違っているなら私を訂正してください。私は新しいMacです。また、私は正確にinfo.plistが何であるかはわかりませんが、新しい項目を追加するとゴーストされているようですが、そこにはどこにでもJavaレンダリングエンジンを変更することはできません。あなたの助けに感謝し、初心者の質問にごめんなさい。 – Mike2012

+0

私は聞いたことだけを中継していますが、それは基本的に正しいです。しかし、Javaの環境設定でアクティブなjvmを変更することもできます。http://developer.apple.com/java/faq/#multipleも参照してください。通常のjava -Dapple.awt.graphicsとして述べたオプションを設定できます。 UseQuartz = false [...] – wds