2

所以我的 Maven 不想选择正确的配置文件,不管我怎么说:

mvn -Denv=dev tomcat7:deploy-only或者mvn -P dev -Denv=dev tomcat7:deploy-only

我在我的服务器上配置了两台服务器,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 回答