この問題がここで何度も議論されていることは知っています。OSX 10.7.4 および NetBeans 7.2.1 を搭載した MAC で実行しています
これが新しいしわなのかどうかはわかりません。私は Java 初心者です。プロジェクトウィンドウでプロジェクトを選択すると、プロジェクトが表示されます。
Idealizer -> Source Packages -> components-> AlsRun.java, GraphingData.java, Idealizer.java, jButtonListenerExample.java
.
AlsRun がメイン クラスです。IDE 内からコードを実行するか、dist を圧縮して任意の場所に移動し、java -jar "Idealizer.jar
" ("dist" 内から) と入力してコードを実行できます。
この問題に関する他の議論では、MANIFEST.MF が関与しているように見えました。MANIFEST.MF は正しく表示されます。
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_35-b10-428-11M3811 (Apple Inc.)
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Main-Class: components.AlsRun
以下の2点が大きなヒントになると思います。
大きなヒント 1 :
コマンドラインからコードを実行すると、プログラムが引き継ぎ、画面に表示されるプログラム名は "components.AlsRun" になります。(ファインダーから)ダブルクリックして起動しようとすると、プログラムが起動され、表示される名前は「AlsRun」です。後者の場合に起動されたプログラムは何もせず、「強制終了」内からのみ強制終了できます。
大きなヒント 2 :
最後の文を書いた後、コマンドラインからそれを殺す方法を自問自答しました。ダブルクリックしてプログラムを実行してから実行するとps -A | grep java
、次の結果が返されました。
33383 ?? 0:00.84 /Library/Internet Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
- jar /Users/pearson/NetBeansProjects/Idealizer/dist/Idealizer.jar
コマンドラインからプログラムを実行してから実行すると、ps -A | grep java
戻ります
33394 ttys001 0:01.46 /usr/bin/java -jar Idealizer.jar
ダブルクリックまたはコマンドラインで起動するかどうかに応じて、さまざまなバージョンのJavaを実行します。
どうやら NetBeans は、私がアプリケーションとは異なる「アプレット」を作成していると考えていますか?
私はここで途方に暮れています。私にとってエラーを生成するコードの最短バージョンは次のとおりです。
package components;
import javax.swing.JFileChooser;
public class AlsRun {
public static void main(String[] args) {
JFileChooser fc = new JFileChooser();
int returnVal = fc.showOpenDialog(null);
};
}