Webappのメインページにリビジョン番号を付けたいのですが、mavenを使用してどうすればよいですか?
追伸その2つの部分の質問、リビジョン番号を取得する方法、およびプロジェクト内の選択したファイルにそれを書き込む方法。
Mavenビルド番号プラグインは、その方法です。それを使用する方法の例はここにあります:
http://www.mojohaus.org/buildnumber-maven-plugin/usage.html
これをmaven jarプラグインと一緒に使用して、SVNコミット番号をマニフェストに出力します。
これは、SVNコミット番号を含むファイルを使用するよりも優れたソリューションです。これは、実際に必要な数より多くの可動部分を追加するためです。
Subversionを使用している場合は、このプラグインを使用して、SVNリビジョン番号をmavenプロパティとして使用できます。
http://code.google.com/p/maven-svn-revision-number-plugin/
これをjarプラグインと組み合わせて、jarおよびwarのMANIFEST.MFファイルにSVNリビジョンを追加します。
あなたがsvnコマンドラインアプリケーションを持っているならば、あなたは次のコードを使うことができます-私たちはそれを私たちのプロジェクトで使用します(少し変更されました)
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<mkdir dir="${project.build.directory}/generated-web-resources/svn"/>
<exec dir="${basedir}" executable="svn"
failifexecutionfails="false"
output="${project.build.directory}/generated-web-resources/svn/svnver.jsp">
<arg line="info"/>
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${project.build.directory}/generated-web-resources/svn</directory>
</resource>
</webResources>
<warSourceExcludes>**/_svn/**</warSourceExcludes>
</configuration>
</plugin>
</plugins>
</build>
どのプラットフォームを使用しているかは言わないでください。Mavenに慣れていないことを許してください。私はそれが外部プログラムを呼び出すことができると思います、そしてあなたはそれをどのようにさせるかを知っています。
Unixプラットフォームの場合は、program svnversionコマンドを使用し、その出力(指定された作業パスのバージョン番号)をファイルにパイプして、必要に応じてWebページに組み込むことができます。
svnversion --help
何ができるかを詳しく示しています。
WindowsでTortoiseSVNクライアントを使用している場合、SubWCRevと呼ばれる優れたWindowsコマンドラインプログラムがバンドルされています。このユーティリティは、使用しているsvnリポジトリのさまざまな詳細を提供するテキストファイルのマクロを展開します。出力の形式を制御できます。すべて非常に便利です。このためのヘルプファイルは次のとおりです。 http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html