4

私はJavaが初めてです。何らかの処理を行うために使用される単一のクラスファイルがあります。

そのクラス ファイルは、jar. 私はJavaに非常にjar 慣れていません。プログラムの実行中にクラスパスに渡しています。

javac -classpath jar MyProgram.java

jarここで、依存関係を解決して、との両方MyProgramを別の jarにバンドルしたいと考えています。

Javaでこれを行う方法はありますか? MyProgram私のJavaは約50行のコードしかないので、簡単な解決策が良いことに注意してください。

前もって感謝します。

4

3 に答える 3

5

ライブラリ JAR を別の JAR ファイル内に配置することはできません。Java は、埋め込まれた JAR ファイルからクラスをロードできません。

アプリケーションのクラスだけを含む JAR ファイルを作成し、ライブラリ JAR をその横に置くことができます。これを正確に行う方法の詳細については、JAR ファイルへのプログラムのパッケージ化を参照してください。

本当にすべてを 1 つの JAR ファイルに収めたい場合は、One-JARなどのツールを使用してパッケージ化できます。

于 2012-10-04T08:17:25.460 に答える
3

コンパイル済みコードと依存関係の両方を別の jar にバンドルしないでください。コンパイルしたクラスのみを jar にバンドルする必要があります。プログラムを実行するときは、jar と依存関係の両方をクラスパスに入れます。

jar コマンドを使用して jar ファイルを作成し、以下のコマンドを使用してプログラムを実行します。

java -classpath dependecy.jar;yourjar.jar MyProgram
于 2012-10-04T08:16:42.553 に答える
0

単にこれを使用できます

java -cp your-jar-file.jar yourclass  

Class-Path の詳細については、このリンクPATH および CLASSPATHを参照してください。

于 2012-10-04T08:20:19.727 に答える