Maven配置文件没有使用maven-tomcat-plugin部署到正确的tomcat

时间:2012-05-13 23:25:44

标签: maven tomcat7 maven-tomcat-plugin

所以我的Maven不想收到正确的个人资料,不管我怎么说:

mvn -Denv=dev tomcat7:deploy-onlymvn -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>

1 个答案:

答案 0 :(得分:2)

您的prod个人资料中有<jdk>1.6</jdk>的额外“激活”。激活是“或”,而不是“和”。我猜你正在用jdk6运行maven,所以prod总是活跃的。作为pom中的最后一个,它的设置将获胜 - 这是maven的一般规则。