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