[解決済み] mavenを使用したfat jarのビルド
2022-06-17 09:55:19
質問
私は jar として配布したいコードベースを持っています。また、外部jarに依存しており、最終的なjarにバンドルしたいです。
私は、これは
maven-assembly-plug-in
を使うことができると聞きましたが、どのようにすればよいのかわかりません。どなたか例を教えてください。
今、私は最終的なjarをバンドルするために脂肪jarを使用しています。私は、maven を使用して同じことを達成したいです。
どのように解決するのですか?
注:あなたが春-ブートアプリケーションであれば、回答の終わりを読んでください。
次のプラグインをあなたの
pom.xml
最新バージョンは
で見つけることができます。
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>CHOOSE LATEST VERSION HERE</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>assemble-all</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
このプラグインを設定した後、実行
mvn package
は2つのjarを生成します。1つはプロジェクトのクラスだけを含むjar、もう1つはすべての依存関係を含むfat jarで、接尾辞は "-jar-with-dependencies" です。
正しければね
classpath
を実行時に設定し、さらに以下のプラグインを追加します。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
春のボートアプリケーション用 以下のプラグインを使用します(適切なバージョンを選択してください)。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<mainClass>${start-class}</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
関連
-
ダウンロードしたフォントのデコードに失敗する 問題が解決した
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] mavenの強制アップデートを行うには?
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み】maven-shade-pluginは何に使うのか、なぜJavaパッケージを再配置したいのか?
-
[解決済み】mavenのダウンロードの進捗状況表示を無効にする
-
[解決済み] Intelli J IDEAでインデックスの更新に時間がかかる
-
[解決済み] mavenでIntellijのアイデアが何も解決できない
-
[解決済み] NexusとMavenの違いは何ですか?
-
[解決済み] プロキシ経由でMavenを使用するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Maven NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher
-
ダウンロードしたフォントのデコードに失敗する 問題が解決した
-
起動時の子コンテナの処理に失敗したエラー
-
Mavenプロジェクトのパッケージングで[INFO]コンパイルに失敗する問題の解決方法
-
[解決済み] .jarを実行しようとすると "無効な署名ファイル "と表示される
-
[解決済み] mvnwとmvnw.cmdファイルは何のためにあるのですか?
-
[解決済み] maven コマンドライン 特定の settings.xml を単一のコマンドで指定する方法は?
-
[解決済み] Intelli J IDEAでインデックスの更新に時間がかかる
-
[解決済み] プロキシ経由でMavenを使用するにはどうすればよいですか?
-
[解決済み] Jenkins CI Pipeline スクリプトで groovy.lang.GroovyObject メソッドを使用することができない。