2016-06-24 12 views
1

だから私は私のJavaファイルの書き込み時に、:
javaをjarにコンパイルするとき、適切なエントリポイントは何ですか?

public class Program 
{ 
public static void main(String[] args) 
{ 
System.out.println("Serious business logic."); 
} 
} 

次にcmdをウィンドウに、私はこの方法をコンパイル:

javac Program.java 
jar cfe Program.jar Program Program.class 
java -jar Program.jar 

をそれは結構です、と結果は次のとおりです。

"Serious business logic."

Netbeansでプロジェクトを作成すると、次の行が追加されます。

package program; 

私はcmdでコンパイルできません。IDE内でのみコンパイルできます。 私はmanifest.txt、BOMなしのUTF8エンコーディング、およびファイルの改行を試しました。

Manifest.txt:

Main-Class: program.Program 
  • "ジャーCVFM Program.jar Manifest.txt Program.class"

とmanifest.txtせず、単にCMD program.Programで

  • "jar cfe Program.jar program.Program Program.class"
  • http://www.skylit.com/javamethods/faqs/createjar.html
    https://docs.oracle.com/javase/tutorial/deployment/jar/build.html
    と持っていない:私はすでに、次のWebサイトをチェックしました

    "Error: Could not find or load main class program.Program"

    java -jar Program.jar 
    

    それは、その結果:私が実行しようとした

    どのようなやり方をするか。手伝っていただけませんか?
    packageキーワードを使用してコンパイルするにはどうすればよいですか?適切なエントリーポイントは何ですか?

    ありがとうございます!

    (PS jre1.8.0_91; jdk1.8.0_66は私がJREとJDKの両方に同じ32ビットまたは64ビットを使用する必要がありますか?)

    答えて

    1

    あなたがJARとしてあなたのプログラムをコンパイルするときProgram.classが内側にある、ことを確認してくださいprogramというフォルダのスクリプトの先頭にNetbeansが追加したpackageキーワードは、実行ファイルにprogramというフォルダの中にあることを伝えています。クラスファイルが正しいパッケージ(フォルダ)にあるかどうかを確認せずにクラスファイルを追加するだけの場合は、クラスファイルの場所がわからないため正しく実行されません。

    programProgram.classを含むフォルダである
    jar cvfm Program.jar Manifest.txt program 
    

    :あなたのコマンドに変更する必要があります。あなたのマニフェストは単独で残されるかもしれませんが、コンパイルにも含める必要があります。

    +0

    うん。今分かります。できます。 1000 *ありがとう! –

    +0

    あなたは大歓迎です:) – Confiqure

    関連する問題