12

MAC OS X 10.8.3 で Intellij IDEA 12.0.4 を使用して jar ファイルを作成しています。

ファイル -> プロジェクト構造 -> アーティファクト -> + -> Jar -> 依存関係のあるモジュールから -> 参照後に選択されたメイン クラス -> ターゲット jar への選択された抽出 -> META-INF のディレクトリが自動的に設定されます -> OK -> Apply -> OK -> Build -> Build Artifacts -> Build

今、次を使用してjarを実行しようとすると:

java -jar path_to_jar/jar_file

このエラーが発生します

path_to_jar/jar_file にメインのマニフェスト属性なし
$ java -version
java バージョン "1.7.0_17"
Java(TM) SE ランタイム環境 (ビルド 1.7.0_17-b02)
Java HotSpot(TM) 64 ビット サーバー VM (ビルド 23.7-b01) 、 ミックスモード)

私が間違っていることは何ですか?

4

4 に答える 4

21

この問題を修正するには、次の 2 つのことを行います。

META-INF を src/main/resources に移動します

次に:ファイル->モジュール設定を開く

アーティファクトを選択し、現在のものを削除して新しいものを作成しますが、今回は「ターゲットjarに抽出する」を選択する代わりに、「出力ディレクトリにコピーしてマニフェストを介してリンクする」を選択します

META-INF へのパスには、META-INF をコピーした上のリソース ディレクトリのパスを入力します。

今あなたのアーティファクトを構築してください

im ターミナルで、jar が作成されたディレクトリに移動して実行します。

java -jar yourjarfile.jar

楽しんで

于 2014-01-14T16:50:21.003 に答える
4

私の場合、IntelliJ がすべての依存関係を出力 jar に抽出していたため/META-INF/MANIFEST.MF、含まれていた依存関係の 1 つからファイルが上書きされたことが原因でした。

jar を開いて、MANIFEST.MF[プロジェクト構造] の下の成果物ページで自動的に設定される [マニフェスト ファイル] プロパティに示されている場所から実際にコピーする必要がありました。

于 2013-08-16T15:53:38.697 に答える