2

したがって、私のMavenは、適切なプロファイルを取得することを望んでいません。

mvn -Denv=dev tomcat7:deploy-onlyまたmvn -P dev -Denv=dev tomcat7:deploy-only

2台のサーバーが構成されてsettings.xmlおり、以下の構成が正しいサーバーを指している。

これを使用mvn -Xすると、Mavenは常に最後のサーバーをファイルに表示される順序でピックアップしているように見えます。つまり、prodサーバーをピックアップしているということです。

誰か手がかりはありますか?ありがとうございました!

これが私の<profiles>

<profiles>
<profile>
  <id>dev</id>
  <activation>
    <property>
      <name>env</name>
      <value>dev</value>
    </property>
  </activation>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.0-beta-1</version>
        <configuration>
          <server>dev</server>
          <url>http://localhost:8080/manager/text</url>
          <username>tomcat</username>
          <password>tomcat</password>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>
</profile>
<profile>
  <id>prod</id>
  <activation>
    <property>
      <name>env</name>
      <value>prod</value>
    </property>
    <jdk>1.6</jdk>
  </activation>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.0-beta-1</version>
        <configuration>
          <server>prod</server>
          <url>http://remote/manager/text</url>
          <username>usr</username>
          <password>pwd</password>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>
</profile>
</profiles>
4

1 に答える 1

2

<jdk>1.6</jdk>製品プロファイルにの追加の「アクティベーション」があります。アクティベーションは「および」ではなく「または」です。あなたはjdk6でMavenを実行していると思いますので、prodは常にアクティブです。pomの最後のものであるため、その設定が優先されます。これは、Mavenの一般的なルールです。

于 2012-05-14T01:44:02.210 に答える