web-dev-qa-db-ja.com

Jarファイル内の実行クラス

/ myfolderにあるmyJar.jarというjarファイルがあり、そこからmyClassというクラスを使用したい場合、どのようにコマンドラインから実行するのでしょうか。

ディレクトリに入ってJava -cp myJar.jar.myClassを言うことになると思いましたが、それはうまくいきません。任意の助けがいただければ幸いです。

153
jim

Java -cp myjar.jar com.mypackage.myClassを使用してください。

  1. クラスがパッケージに含まれていない場合は、単純にJava -cp myjar.jar myClassです。

  2. myJar.jarが置かれているディレクトリ内にいない場合は、次のことができます。

    1. UnixまたはLinuxプラットフォームの場合

      Java -cp /location_of_jar/myjar.jar com.mypackage.myClass

    2. Windowsの場合

      Java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass

228
Bitmap

あなたが欲しい:

Java -cp myJar.jar myClass

Documentation は次のような例です。

C:> Java -classpath C:\Java\MyClasses\myclasses.jar utility.myapp.Cool
21

Javaで利用できるJARファイルには2つのタイプがあります。

  1. マニフェストファイルを含む実行可能/実行可能jarファイル。 Runnable jarを実行するには、Java -jar fileName.jarまたはJava -jar -classpath abc.jar fileName.jarを使用できます。

  2. マニフェストファイルを含まない単純なjarファイルなので、パスをJava -cp ./fileName.jar MainClassにしてメインクラスを実行するだけです。

17
Gaurav Singh

myJar.jarファイルがあるディレクトリにいて、myClasspublic static void main()メソッドがあるとします。

次のコマンドラインを使います。

Java -cp ./myJar.jar myClass

どこで:

  1. myJar.jar現在のパスにあります。ほとんどのシステムでは.は現在のパスにないことに注意してください。ここでも、完全修飾パスが優先されます。

  2. myClassはクラスへの完全修飾パッケージパスです。この例では、myClassデフォルトパッケージに含まれていると仮定しています。 com.mycompany.mycode.myClass

5
user177800

これは.jarを実行するための正しい方法です。その.jar内のいずれかのクラスがmain()を持つ必要があり、それに対するパラメータは次のとおりです。

Java -DLB="uk" -DType="CLIENT_IND" -jar com.fbi.rrm.rrm-batchy-1.5.jar
0
ubersucks