Springアプリケーションでmavenのproject.versionプロパティを@Valueで取得できない
2023-09-03 01:32:20
質問
Spring Bootアプリケーションで@Valueアノテーションを使用してmaven project.versionプロパティを取得するにはどうすればよいですか?
どのように解決するのですか?
SpringBootアプリケーションでMavenプロジェクトのバージョンを取得する方法について、いくつかの調査と試行の後、私は私のために動作する何かを見つけることができませんでした。
マニフェストを使用することは、クラス ローダーの問題のために腐った道であることは明らかです。
私が見つけた 1 つの解決策は、リソース ファイル内のプロパティをフィルター (置換) するために maven リソース プラグインを使用することです。この場合、Spring
application.properties
.
以下は、これを実現するための手順です。
pomファイルで、以下の定義でリソースフィルタリングを有効にします。
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>application.properties</include>
</includes>
</resource>
</resources>
の中で
application.properties
ファイルに記述します。
[email protected]@
[email protected]@
build.timestamp=@timestamp@
property}の代わりに@property@があることに注意してください。
の中にある
application.properties
ファイル内の
は
spring-boot-starter-parent
を再定義し、標準の
${}
というデリミタを
@
:
<resource.delimiter>@</resource.delimiter>
<!-- delimiter that doesn't clash with Spring ${} placeholders -->
<delimiters>
<delimiter>${resource.delimiter}</delimiter>
</delimiters>
次に、Springでこれらのプロパティにアクセスするには
@Value
を使ってアクセスすることができます。
@Value("${application.name}")
private String applicationName;
@Value("${build.version}")
private String buildVersion;
@Value("${build.timestamp}")
private String buildTimestamp;
関連
-
[解決済み】Spring Data Maven Buildsの「プラグインの実行はライフサイクル構成でカバーされていません」を解決する方法
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
-
[解決済み] Mavenに最新バージョンの依存関係を使用するように指示するにはどうすればよいですか?
-
[解決済み] mavenの強制アップデートを行うには?
-
[解決済み] Spring Bootでapplication.propertiesファイルに定義された値にアクセスする方法
-
[解決済み] mvnwとmvnw.cmdファイルは何のためにあるのですか?
-
[解決済み] [Solved] Spring Bootでapplication.ymlにプロパティを置くかbootstrap.ymlに置くかの違いは何ですか?
-
[解決済み] intellijでmavenの依存関係階層を表示する方法
-
[解決済み] Java 9 での 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の "リアクター "とは何ですか?
-
[解決済み] リソースのフィルタリングのためにmaven.build.timestampにアクセスする方法
-
[解決済み] repository tag under distributionManagement vs repositories?
-
[解決済み] Mavenの依存関係をグローバルに除外する方法はありますか?
-
[解決済み] なぜpom.xmlのmodelVersionは必要で、常に4.0.0に設定されるのですか?
-
[解決済み] JavascriptのWebアプリとJavaサーバー、すべてをMavenでビルドするか、WebアプリにはGruntを使うか?
-
[解決済み] mavenの依存関係のタイプ "bundle "の意味は何ですか?
-
[解決済み] MavenのOut of Memoryビルドの失敗
-
[解決済み] mavenのjavaホームを変更する方法 [重複]。
-
maven: コマンドラインオプションまたは環境変数を使用してローカルリポジトリの場所を上書きすることは可能ですか?