@Valueアノテーションを持つSpring Bootアプリケーションのmaven project.versionプロパティを取得するにはどうすればよいですか?@Valueを持つSpringアプリケーションでmaven project.versionプロパティを取得できない
13
A
答えて
26
Springブートアプリケーションでmavenプロジェクトバージョンを取得する方法に関するいくつかの調査と試行の後、私のために何かを見つけることができませんでした。
マニフェストの使用は、クラスローダーの問題のために腐敗したパスです。つまり、私の場合は私のアプリケーションではない最初のマニフェストのSpringが見つかりました。
私が見つけた1つの解決策は、リソースファイルのプロパティをフィルタリング(置換)するためにmavenリソースプラグインを使用することです。この場合、スプリングapplication.properties
。
以下は、この作業を行う手順です。
[email protected]@
[email protected]@
[email protected]@
お知らせ代わりに$ {プロパティ}の@プロパティ@:application.properties
ファイルで
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>application.properties</include>
</includes>
</resource>
</resources>
:POMで
は、次の定義によるフィルタリングリソースを有効にします。ファイルapplication.properties
の。
ばねブートスタータ親POMは、のような標準的な$ {}デリミタを再定義する@:
<resource.delimiter>@</resource.delimiter> <!-- delimiter that doesn't clash with Spring ${} placeholders -->
<delimiters>
<delimiter>${resource.delimiter}</delimiter>
</delimiters>
一方、このような@value使用春にこれらのプロパティにアクセスすることができる:
@Value("${application.name}")
private String applicationName;
@Value("${build.version}")
private String buildVersion;
@Value("${build.timestamp}")
private String buildTimestamp;
関連する問題
- 1. SpringでMavenプロパティにアクセスできない
- 2. mavenコマンドラインからproject.versionをオーバーライド
- 3. コントロールの "value"プロパティの取得
- 4. spring-bootでは、spring beanなしでプロパティを取得できますか?
- 5. @Valueプロパティの注入がGenericFilterBeanで機能しないSpring
- 6. Springアプリケーションのプロパティからカスタムオブジェクトを取得することはできますか?
- 7. springにMavenプロパティを渡す
- 8. eclipse、new maven project、spring boot - ライブラリを取得しない
- 9. mavenを持つintellijのjarファイルをダウンロードできない
- 10. spring-cloud-config-client - プレースホルダを持つ別のアプリケーションからプロパティを取得する方法
- 11. Springでトランザクションを持つオブジェクトを取得するには?
- 12. Maven Dependencyからプロパティを取得
- 13. オブジェクト内で最大のインデックスキーを持つプロパティを取得する
- 14. SpringでJDBC接続を取得できない
- 15. Springアプリケーションがプロパティソースからデータを取得できません
- 16. mavenプロパティを上書きするコマンドラインプロパティを取得する方法
- 17. SpringブートMavenアプリケーションのjarファイルを実行できません
- 18. Springで同じキーを持つ複数のプロパティを読み取る方法は?
- 19. Spring @Valueプロパティがカスタムpojoの内部でnullです
- 20. Mavenのプロパティ私はいくつかのプロパティを定義し、非常に単純なMavenの記述持って
- 21. 私の最初のMaven、Springプロジェクトでorg.springframework.beans.factory.BeanCreationExceptionを取得する
- 22. SpringブートはClientHttpRequestInterceptorの@Valueにアクセスできない
- 23. Spring MVC + Hibernateアプリケーション内のいくつかのクラス内でDialectを取得
- 24. spring + hibernateプロジェクトのmysql-databaseからオブジェクトを取得できない?
- 25. Spring JdbcTemplateがMySQLからInsert IDを取得できない
- 26. node.jsがSpringブートセキュリティからユーザプリンシパルを取得できない
- 27. .valueで入力から値を取得できません
- 28. どのように再帰なしでパスを持つプロパティを動的に取得/設定できますか?
- 29. Spring&Maven - Springアプリケーションにカスタムプロパティを提供する方法
- 30. DataTableでRDLC Find Valueを取得する
基本的には、Springのマニュアルで説明しているとおりです。http://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html ドキュメントは、あなたが明示的にリソースフィルタを定義する必要はありません、あなたがSpring Bootの親を使用している場合です。 –
spring-boot-starter-parentは使用しませんが、回答と[section 72.1.1](http://docs.spring.io/spring-boot/)のようなデリミタ設定を追加する必要はありませんでした。 docs/current/reference/html/howto-properties-and-configuration.html)は言う。 – pacoverflow
タイムスタンプは、実際には 'build.timestamp = @ maven.build.timestamp @'のようなものでなければなりません。 – wikier