1

私はJava(およびEclipse)を初めて使用しますが、.NET(およびVisual Studio)をかなり使用しています。また、C /C++コードのコンパイルなどについても知っています。最後に、コマンドラインから実行できるEXEまたは素敵なバイナリファイルのいずれかを取得することを知っています。

私はいくつかの外部ライブラリを使用するJavaユーティリティを作成しています。これをUNIXマシンのコマンドラインから実行できる実行可能ファイルにコンパイルする必要がありますが、これを行う方法が見つかりません。

Eclipseでビルドして実行/デバッグできますが、このコードはWebサーバーで実行されるため、これは役に立ちません。すべての依存関係を1つのファイルにコンパイルする必要がありますが、Googleで何時間も検索した後、Eclipse用のFat-JARプラグインが見つかりました。それを使用した後、ファイルを実行しようとすると次のエラーが発生します。 :

Exception in thread "main" java.lang.NoClassDefFoundError: Network/jar

これは本当に私を混乱させます、そしてそれができることはとても重要なことなので、私は盲目的に明白な何かを見逃しているに違いないと確信しています、しかし私が言ったように、私は何時間も検索した後私はどこにも行きませんでした。

私はあなたが私に与えることができるどんな助けにも本当に感謝します。ありがとう。

4

4 に答える 4

0

あなたは何か標準的なことをしていて、Eclipseを使っています。これは、あなたの場合、Mavenがあなたの友達であることを意味します。M2Eclipseプラグインをダウンロードしてインストールします。Mavenは依存関係の管理に最適です。したがって、依存関係が含まれているjarを作成することは、非常に簡単です。WebとStackOverflowには何千もの例があります。設定に問題がある場合は、これについてコメントしてください。正しい方向に向けることができます。

于 2010-04-10T18:57:14.057 に答える
0

Networkクラスを含むjarファイルを取得するには、サーバー上のクラスパスを変更する必要があるようです。プログラムをどのように実行していますか?-cpオプションにどのパスを入れていますか?

jarファイル内の内容を見つける方法がわからない場合は、jar tfを実行すると、パッケージ化されたクラスが一覧表示されます。CLASSPATH内のjarの1つに、欠落していると表示されているクラスがあることを確認します。

詳細を教えていただければ、解決にご協力いただけます。

于 2010-04-10T19:06:15.103 に答える
0

Mavenを使用してJavaアプリをビルドする場合(これはすべての主要なIDEで実行できます)、Mavenシェードプラグインを使用してシェーディングされたjarファイルをビルドできます。これは、すべての依存関係が含まれているjarファイルです。

影付きのjarファイルは、次のようにコマンドラインから実行できます。

java -jar myjar.jar command line options
于 2010-04-10T19:06:52.120 に答える
0

最初にいくつかの基本を説明する必要があると思います。public static void main(String[] args)Javaクラスには、メソッドがあればアプリケーションとして実行できます。このメソッドがある場合は、コマンドラインから次のように実行できます。

java my.package.MyClass <attributes>

アプリを起動する前に、必要なすべての.jarファイル(および、クラスからjarを作成しなかった場合は、独自のクラスフォルダーのルート)がCLASSPATH環境変数に含まれていることを確認する必要があります。

これらは絶対的な基本です。より複雑なアプリや配布用のアプリを作成する場合は、おそらくmavenやantなど、生活を楽にするツールを使用します。

于 2010-04-10T19:07:57.767 に答える