1

i wanted to setup hudson job to perform release of our project from hudson. But i have a problem: our build process is running tests that need connection to db, host:port of db is specified as system parameter. But when i try to to such system parameter to release:prepare it seems that is creates a nested process and doesn't pass any system parameters to it. How can i pass system parameter to nested process?

Can i do it with maven profiles?

Thx for any comments!

4

2 に答える 2

1

プロパティは、-D確実なプラグインからテストに確実に伝播されません(Eclipseで動作する理由はわかりません)。コマンド ラインで maven を使用する場合は、argLineプロパティを使用してプロパティをラップします。これにより、それらがテストに渡されます

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

System.getPropertyコード内の値を読み取るために使用します。との違いについては、この投稿をご覧ください。System.getenvSytem.getProperty

(これは私の以前の回答から取られています。)

于 2011-04-18T15:15:04.467 に答える
1

pom.xml システム プロパティを読み取ることができません。 環境変数のプロパティ を参照ください。ただし、特定のコンピューターにのみ存在する変数に関連付けられた pom を作成しないでください。例:JAVA_HOMEどこでも機能しますが、mydatabase.username機能しません。

正しい方法は、プロパティ ファイルに構成を記述し、pom から読み取ることです。このようにして、誰が知っているシステム変数ではなく、文書化された構成が得られます。-Dまた、シェル スクリプトにパラメータを付けておくよりも簡単です。

于 2011-04-18T15:54:54.610 に答える