0

私は助けを得ようとしましたが、誰も私の問題を理解していないようです。netbeans でプロジェクトを作成し、コンパイルすると jar ファイルが生成されます。IDE では問題なく動作しますが、コマンド プロンプトから起動しようとすると、何も実行されません。別のコマンドの次の行にカーソルを移動するだけですか? クラスパスをエコーすると、これが得られる結果です

/opt/netbeans-7.1.2/ide/modules/ext/mysql-connector-java-5.1.13-bin.jar:/h/USERS/local/pagola/NetBeansProjects/mylib/dist/mylib.jar:/h/USERS/local/pagola/NetBeansProjects/EOPPrototype/build/classes 

jar内にあるすべてのものを含むクラスパスを追加しました。私のマニフェストファイルにはメインクラス(エントリポイント)が含まれており、これは次のようになります

    Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_22-b04 (Sun Microsystems Inc.)
Class-Path: lib/mysql-connector-java-5.1.13-bin.jar lib/mylib.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: eopprototype.EOPPrototype

それで、私が間違っていることを理解できませんか?PATH 変数に何かを追加する必要がありますか (おそらく Java jdk bin のもの) 実行可能ファイルを探す場所がわからないため、Java コマンドを見つけることができませんか?

注: 私は PATH と LIBRARY PATH を設定しませんでした - これを行う必要がありますか? これはACスタイルのシェルスクリプトです

4

1 に答える 1

1

最初にこれを試してください

マニフェストが改行で終わっていない場合は、無視される可能性があります。マニフェストには改行が必要ですを参照してください

そうでなければ私は仮定をしなければなりません

lib/mylib.jarそのJARファイルに実行したいメソッドが含まれEOPPrototypeている場合は、マニフェストに含める必要はありません。public static void main(String[] args)したがって、リストのみになるように削除しますmysql-connector-java-5.1.13-bin.jar。マニフェストは次のようになります

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_22-b04 (Sun Microsystems Inc.)
Class-Path: lib/mysql-connector-java-5.1.13-bin.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: eopprototype.EOPPrototype

次に、すべてのコードがmylib.jarにあり、他の依存するjarがmysql-connector-java-5.1.13-bin.jarのみであると想定して、次のようなディレクトリ構造を作成します。

/h/USERS/temp/mylib.jar
/h/USERS/temp/lib/mysql-connector-java-5.1.13-bin.jar

次に、このように実行します

cd /h/USERS/temp

java -cp .:mylib.jar eopprototype.EOPPrototype
于 2012-06-12T23:23:49.463 に答える