[解決済み] 実行時にMavenアーティファクトのバージョンを取得する
2022-04-15 14:45:34
質問
MavenアーティファクトのJARで、project.version属性が2つのファイルに含まれていることに気づきました。
META-INF/maven/${groupId}/${artifactId}/pom.properties
META-INF/maven/${groupId}/${artifactId}/pom.xml
このバージョンを実行時に読み取るための推奨される方法はありますか?
どのように解決するのですか?
任意のライブラリ/クラスのバージョン情報を取得するために、Maven固有のファイルにアクセスする必要がないようにする必要があります。
単に
getClass().getPackage().getImplementationVersion()
に格納されているバージョン情報を取得するために、.jarファイル
MANIFEST.MF
.
<ストライク
幸いなことに、Mavenは賢いので
残念ながら、Maven はデフォルトではマニフェストにも正しい情報を書きません!
その代わりに
<archive>
の設定要素を使用します。
maven-jar-plugin
を設定します。
addDefaultImplementationEntries
と
addDefaultSpecificationEntries
から
true
というように。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
理想的には、この構成は、会社
pom
または別の base-pom を使用します。
の詳細なドキュメント
<archive>
要素は
Maven アーカイブのドキュメント
.
関連
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Mavenに最新バージョンの依存関係を使用するように指示するにはどうすればよいですか?
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み] IntelliJ - Javaプロジェクト/モジュールをMavenプロジェクト/モジュールに変換する
-
[解決済み] Mavenでjarに依存関係を含める
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
-
[解決済み】Mavenプロジェクトのバージョンをbashのコマンドラインに取得する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
JQuery DataTable 详解
-
Methodのinvokeメソッド実装のJavaリフレクション
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 0 at One1.main(One1.java:3)
-
このラインで複数のマーカーを解決する方法
-
ローカルリソースのロードが許可されていない場合の解決策
-
[解決済み】mavenのpom.xmlからバージョンをコードで取得する
-
[解決済み】サーブレットベースのアプリケーションで、設定リソースファイルをどこに置き、どのように読み込むか?