web-dev-qa-db-ja.com

(Java)コマンドプロンプトを使用して、複数の.classファイルから.jarファイルを作成します

Main.Javaという.Javaファイルを作成し、Windowsコマンドプロンプトでjavacを使用してコンパイルしました。コンパイラーは複数の.classファイル(Main.class、Main $ 1.class、&Main $ 2.classと呼ばれます-おそらくMain.Javaファイルに匿名の内部クラスがあるためです)を作成しています。実行可能な.jarファイルを作成しようとしているので、ショートカットをダブルクリックしてこのアプリケーションを実行できます(これはJava Swingアプリケーションです)ですが、次のディレクトリに移動すると失敗します3つのクラスファイルとタイプ:

jar cfv file.jar Main.class Main$1.class Main$2.class

コマンドプロンプトは、次のテキストを出力します。

added manifest
adding: Main.class(in 4871) (out = 2848)(deflated 41%)
adding: Main$1.class(in 1409) (out = 833)(deflated 40%)
adding: Main$2.class(in 1239) (out = 767)(deflated 38%)

それにもかかわらず、Windowsエクスプローラでfile.jarファイルをダブルクリックしても、何も起こりません。 Swingアプリケーションは開きません。

うまくいけば、誰かが私を助けてくれるでしょう。ありがとうございました

ベスト... SL

7
Skyler

エントリポイントスイッチ_-e_(main()メソッドを含むクラスの名前付き)を次のように使用する必要があります。

_jar cfve file.jar Main Main.class Main$1.class Main$2.class
_
14
iamnotmaynard

Java自動的に開始するクラスを指定する必要があります。これはマニフェストです。説明を参照してください こちら Manifest.mfをjarにパッケージ化する必要があります。

5
michael_s
  1. コマンドプロンプトを開く
  2. cdは、jarファイルが存在するパスに移動します
  3. コマンドjar xf fileName.jarを実行します
  4. Com、META-INFCopyright.mkファイルを生成します
  5. クラスファイルを変更する特定のパッケージに移動します(基本的に、comディレクトリにあるクラスファイル)。
  6. GoogleからJAD.exeをダウンロード(Its Zipファイル)
  7. 取得するZipファイルを抽出しますjad.exe
  8. jad.exeを含むフォルダーにクラスファイル(変更したいファイル)を配置します
  9. コマンドプロンプトに移動し、jad fileName.class(変更するクラスファイル名)を実行します。
  10. fileName.jadファイルは生成され、名前をfileName.Javaに変更します
  11. fileName.Javaをコンパイルします(他のクラスファイルを参照している場合は、それに応じてEclipseで構成します)。
  12. コンパイルしたら、手順4で定義したディレクトリのクラスファイルを置き換えます。
  13. コマンドプロンプトに移動し、cdステップ4パスを実行し、jar cf fileName.jarを実行します(*は、ディレクトリに関係なくすべてのクラスファイルを表します)
0
Praveen
  1. cmdを開く(windows + rタイプcmd)
  2. quatoesのない「jar」として同様にコマンドを入力します
  3. それはいくつかのオプションとそれらの使用法を提供します。
  4. あなたが欲しいものを使う
  5. クラスを含むjarファイルを作成するには、jar cfv filename.jar example.class example2.classなどに言及します。
  6. Swingを使用している場合、javac -deprecation SwingApplication.Javaでコンパイルしますが、JDKバージョンはJDK1.1バージョンよりも大きい必要があります。
  7. 実行Java SwingApplication
  8. ではごきげんよう
0
Gopal Reddy