6

いくつかのプロパティを定義した非常に単純な maven 記述子があります。

<?xml version="1.0"?>
<project
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/xsd/maven-4.0.0.xsd"
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <properties>
    <it.port>8080</it.port>
  </properties>

</project>

it.port次のコマンドでプロパティをオーバーライドできます。

$ mvn -Dit.port=8181 verify

ただし、次のコマンドは期待どおりに機能しません。

$ MAVEN_OPTS="-Dit.port=8181" mvn verify

これはシステム変数を JVM に渡しますが、maven はこのプロパティとテストに指定されたデフォルト値をオーバーライドすることを拒否します (8080)。元の問題は、TeamCity (アウト CI サーバー) がシステム変数を JVM に渡すMAVEN_OPTSため、プロパティのオーバーライドが機能しないことです。

Maven プロパティをMAVEN_OPTS環境変数でオーバーライドできますか?

4

1 に答える 1

11

いいえ、できません。あなたはできる:

  • ローカル マシンで settings.xml を使用してプロパティを指定します。
  • プロジェクト pom でプロファイルを使用する
  • コマンド ラインで -D を直接使用します。
于 2011-01-28T09:49:21.060 に答える