[解決済み] Maven 2で実行可能なjarをビルドする
2023-06-13 12:24:21
質問
私はMavenのマントラには比較的新しいのですが、Mavenでコマンドライン実行可能なjarを構築しようとしています。私は依存関係をセットアップしましたが、私が
mvn install
を実行し、jarを実行しようとすると、2つのことが起こります。まず、メインクラスが見つかりませんが、これは修正可能です。これを修正したところ、実行時にクラスが見つからないというエラーが発生しました。
Maven は jar 内に私の依存ライブラリをパッケージングしないので、スタンドアロン アプリケーションとして jar を実行することができません。これを修正するにはどうすればよいですか。
どのように解決するのですか?
最も簡単な方法は、アセンブリを作成する際に
maven-assembly-plugin
と定義された
jar-with-dependencies
ディスクリプタを追加します。また、この uber jar 用のメイン クラス エントリを含むマニフェストを生成する必要があります。以下のスニペットは、これを行うためにアセンブリプラグインを設定する方法を示しています。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
そして、アセンブリを生成するために、実行するだけです。
mvn assembly:assembly
ビルドの一部としてアセンブリを生成したい場合、単に
assembly:single
をパッケージ・フェーズにバインドします。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
そして単純に実行します。
mvn package
関連
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み】Maven モジュール + 特定の単一モジュールのビルド
-
[解決済み] Maven: カスタム外部JARを私のプロジェクトにリンクする最良の方法?
-
[解決済み] Mavenパッケージは動作するが、Intellijのビルドは失敗する
-
[解決済み] mavenで実行可能なjarをビルドする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
NullPointerException - java.lang.
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
アノテーション「@Retention」の役割
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集
-
アクセス制限の解決方法: ---- in Java
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] mavenで実行可能なjarをビルドする?