IntelliJのいくつかのクラスにまたがるプログラムを作成しました。これはIDEでテストしたときにうまく動作します。しかし、チュートリアルにしたがってプロジェクトを.jar実行可能ファイルにすると、実行されません。その上でダブルクリックしたときIntelliJ IDEAによって作成されたJARファイルは実行されません
アウトフォルダ内のファイルが実行されず、「JavaのJARファイル 『projectName.jar』は起動できませんでしたと言います。
端末から、それを開くと、私が手。エラー「を見つけるか、メインクラスをロードできませんでした。」私は
が、私はこれらのステップに続く「projectName.jarが-jar $ジャワ」使用:- オープンプロジェクト構造、アーティファクトをして(+) をクリックします。
- JARの下では、依存関係。
- 私のmainメソッドでクラスを指し、OKをクリックしてください。
- [適用]をクリックし、[OK]をクリックして終了します。
- 次に、プロジェクトの構造を閉じて、[ビルド]を開いてアーティファクトをビルドします。
- 次に[ビルド]をクリックします。
- 〜/ IdeaProjects/PROJECTNAME /アウト/アーティファクト/ projectName_jar/projectName.jar に移動
その後、私はそれを実行しようとするだろうが、それは実行されません。私のプロジェクトにはGUIがあり、コマンドラインから実行できます。私がTerminalのmainメソッドをコンパイルするとうまくいきましたが、JARファイルが必要です。私は、私のコードが無関係であると確信しているので、質問に何を含めるべきか分からない。私はMavenを利用していますが、それが関連しているかどうかはわかりません。 JARを構築する前に、私がやっているべきことやプロジェクトに追加するべきことが他にありますか?
MANIFEST.MFファイルがのIntelliJで作成されましたので、私はそれがあると仮定正しい。 Main-Classは正しいですが、2行しかありません.1つは "Manifest-Version:1.0"で、もう1つは "Main-Class:projectName"です。 –
潜在的に。 Main-Class属性は完全修飾ドメインである必要があります。あなたのクラスがいくつかのパッケージまたはパッケージに入っていれば、私は.E。com.packagename.ClassName'。 [パッケージの基礎](https://newcircle.com/bookshelf/java_fundamentals_tutorial/packaging)セクション7.5を参照してください。パッケージメンバーの使用:修飾名。したがって、パッケージがない場合、属性は実行するメインメソッドを持つクラスの名前になります。 OraclesのWebサイト[アプリケーションのエントリーポイントの設定](https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html)のベスト・ディスクリプションは – Underbalanced
@EricChanコメント。新しいスタック。 – Underbalanced