Mavenで作業するときに、製品バージョンとsvn url +リビジョンをwarファイルに埋め込むには、どのような方法が推奨されますか?私はそれを建物の間にポンに入れなければならない、もしそうなら、どのセクションに?例が役に立つでしょう。SVNとバージョンをwarファイルに挿入するベストプラクティスは何ですか?
0
A
答えて
0
大丈夫
私はversion.propertiesは、次の内容の私のJavaリソースフォルダ内のファイルをしている:私のpom.xmlに私はこの
<properties>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
<buildtime>${maven.build.timestamp}</buildtime>
<project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
</properties>
を持って、その後、
version.major=${version}
version.build=${env.SVN_REVISION}
version.date=${buildtime}
.warを構築している間に記入された情報を読むために、私はセッションBeanにこのプロパティフィールドを持っています:
@ManagedProperty(value = "#{versionProperties}")
private Properties versionProperties;
とゲッターを生成することを忘れてはいけない
private void initializeVersionData() {
String mavenTimestamp = getVersionProperties().getProperty("version.date");
// try to parse timestamp and reformat it
try {
// format of maven timestamp
DateTimeFormatter mavenFormatter = DateTimeFormatter.ofPattern("yyyyMMdd-HHmm");
LocalDateTime date = LocalDateTime.parse(mavenTimestamp, mavenFormatter);
// desired format
DateTimeFormatter desiredFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
versionData.put("Datum", date.format(desiredFormatter));
} catch (RuntimeException e) {
logger.warn("couldnt parse time stamp, ignore if running locally");
// fall back to maven timestamp
versionData.put("Datum", mavenTimestamp);
}
versionData.put("Version", getVersionProperties().getProperty("version.major"));
versionData.put("Build", getVersionProperties().getProperty("version.build"));
}
をすることによってそれを埋めます。
SessionBeanのから値を読み取るために、私は私のフッターテンプレートファイルにこれを得た:
<div style="text-align:right;float:right;">
© 2016 it-processing AG
<table style="width:120px;">
<ui:repeat var="entry"
value="#{sessionBean.version.entrySet().toArray()}"><br/>
<h:panelGroup>
<tr>
<td>#{entry.key}: </td>
<td>#{entry.value}</td>
</tr>
</h:panelGroup>
</ui:repeat>
</table>
</div>
とで結果は:SVNのURLについては
、することができますそれをプロパティファイルにハードコーディングします。
EDIT:あなたは、ビルド・サーバとしてジェンキンスを使用する場合たぶん、これらのプロパティのいずれかが唯一の人口である、あなたはSVNのバージョン情報を抽出するためにbuildnumber-maven-pluginを使用することができ、それらの情報を取得するにはどれでしょうBuildNumberを
1
覚えてカント。プロパティを使用すると、これらの値をMANIFEST.MF
ファイルまたはビルドプロセス中にフィルタリングされた分離ファイルに入れることができます。または、そのような情報を含むJavaクラスをtemplating-maven-pluginで作成できます。
関連する問題
- 1. git-svnと互換性のあるsvn(サーバ)の最小バージョンは何ですか
- 2. IntelliJ:Play 2.0アプリケーションを.warファイルにデプロイする。マニフェストには何を入れますか?
- 3. Dockerハブのバージョンにタグを付けるベストプラクティスは何ですか
- 4. AngularJS/JavaScriptファイルをバージョン管理するためのベストプラクティスは何
- 5. SVN:ライブサーバーのバージョン管理のベストプラクティス?
- 6. Windowsにアプリケーションを導入する際のベストプラクティスは何ですか?
- 7. Web開発のソースコードのバージョン管理のベストプラクティスは何ですか?
- 8. ruby on railsデータベースにデフォルト/初期データを挿入するためのベストプラクティスは何ですか?
- 9. SVNでは、決してマージされないブランチのベストプラクティスは何ですか?
- 10. バージョン管理システム間を移動するためのベストプラクティスは何ですか?
- 11. PHP/MySQLとDoctrineの複数の挿入に関するベストプラクティス
- 12. Spring 3.0とSOAP - ベストプラクティスは何ですか?
- 13. Djangoモデルフィールドのベストプラクティスとは何ですか?
- 14. MVC3とEFデータ:ベストプラクティスは何ですか?
- 15. MySQLにBLOBファイルとCLOBファイルを挿入するには?
- 16. 挿入前にIDをデータベースに挿入することは可能ですか
- 17. Gitの挿入と削除とは何ですか?
- 18. svnのファイルの同期バージョン
- 19. Tortoise svn repositoryとvisual svn repositoryの違いは何ですか?
- 20. SPDワークフローを本番環境に導入するベストプラクティスは何ですか?
- 21. Catalystアプリケーションをプロダクションサーバに導入するためのベストプラクティスは何ですか?
- 22. モデルとビューに関するベストプラクティスは何ですか?
- 23. コンテナビューとの通信に関するベストプラクティスは何ですか
- 24. C#ベストプラクティス - intを変換するときのベストプラクティスは何ですか? to int
- 25. なぜサイトにSVNのバージョンが表示され、利点は何ですか?
- 26. JerseyカスタムExceptionMappersを.jar warファイルから.warファイルにインポートできますか?
- 27. ユニットテスト用に挿入した後にデータをクリーニングするベストプラクティス
- 28. ファイルに挿入するPHP
- 29. SVNレイアウト - ベストプラクティス
- 30. asp.netでストアドプロシージャを使用してデータを挿入するベストプラクティス