2011-04-18 2 views
1

私はhudsonからプロジェクトをリリースするためにhudsonジョブをセットアップしたかったです。しかし、私は問題があります:私たちのビルドプロセスは、データベースへの接続が必要なテストを実行しています:ホストの:データベースのポートはシステムパラメータとして指定されています。しかし、私がそのようなシステムパラメータをリリースしようとすると、それはネストされたプロセスを作成し、それにシステムパラメータを渡さないように見えます。 システムパラメータをネストされたプロセスに渡すにはどうすればよいですか?Mavenプラグインネストされたプロセスのシステムプロパティ

mavenプロファイルでもできますか?

任意のコメントのためのThx!

+0

プロパティファイルを使用できません....? –

+0

こんにちは、プロパティファイルはどういう意味ですか?私はリリースプラグインには実行に渡すべきすべてのパラメータを含むべきいくつかのプロパティが必要だと思ったが、私はこのパラメータを見つけることができない – user253202

答えて

1

pom.xml ない Environment variable propertiesを参照し、システムのプロパティを読み取ることができます。しかし、特定のコンピュータにのみ存在する変数に束縛する必要はありません。例:JAVA_HOMEはどこでも動作し、mydatabase.usernameは動作しません。

正しい方法は、プロパティファイルに設定を書き込んで、それをpomから読み込むことです。このようにして、あなたは文書化された構成を知っています。また、シェルスクリプトのパラメータを-Dにするよりも複雑ではありません。

+0

-1はシステムプロパティを読み取ることができません。 [documentation](http://maven.apache.org/pom.html#Properties)を見れば、環境変数とシステムプロパティがpom.xmlファイルで利用できることがわかります。 – FrVaBe

+0

ありがとう、私はあなたのコメントに応じて答えを更新しました。 – Jano

1

-Dのプロパティは、確信しているからあなたのテスト(私はなぜそれが日食で動作するのかわかりません)にplugingから伝播する信頼性がありません。コマンドラインでmavenを使用する場合は、argLineプロパティを使用してプロパティをラップします。これはあなたのコード内の値を読み取るために、あなたのテスト

mvn -DargLine="-D<property>=<value>" <goal> 

使用System.getPropertyに渡します。 System.getenvSytem.getPropertyの違いについて投稿をthisにしてください。

(これは私の元answerから取られている。)

+0

Thxについてはヘルプが必要だが、このプロパティもSpringの設定で解決する必要があるテストが実行される前にリリースの実行によって作成されたネストされたプロセスに渡すプロパティのリストを指定するためのmavenリリースプラグインのプロパティはありますか? – user253202

+3

ドキュメントに記載されている[arguments](http://maven.apache.org/plugins/maven-release-plugin/prepare-mojo.html#arguments)プロパティがあります。それ以外の場合は、プロパティを2回宣言してください(-D ...および-DargLine)。あなたのバネ構成のプロパティを解決したいのであれば、それらをプロパティファイルに入れ、[property-placeholder](http://static.springsource.org/spring/docs/3.0.x /spring-framework-reference/html/xsd-config.html#xsd-config-body-schemas-context-pphc)。 _pom.xml_ステートメントの – FrVaBe

関連する問題