我正在使用tomcat7-maven-plugin将我的应用程序部署到Tomcat。在我的pom.xml中,我目前有以下信息
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<server>test</server>
<path>/api</path>
<update>true</update>
<url>http://XXX.XXX.XX.XX:8080/manager/text</url>
</configuration>
</plugin>
在〜/ .m2 / settings.xml中我有以下
<settings>
<servers>
<server>
<id>test</id>
<username>*******</username>
<password>*******</password>
</server>
<server>
<id>production</id>
<username>*********</username>
<password>*********</password>
</server>
</servers>
</settings>
我希望能够通过ID作为命令行的一部分来选择服务器,例如
mvn tomcat7:redeploy -Dserver=production
并使用settings.xml文件中的相应配置信息。除了为部署选择特定的用户名和密码之外,这还意味着将URL从pom.xml移到一个单独的位置。
This post谈到将服务器URL存储在POM之外,并且似乎表明有一种方法可以使用某些属性文件来完成这一部分,但是并没有扩展这些文件的位置找到它们,也不知道如何在命令行中指定它们。
有可能做我正在寻找的事情吗?或者,每次我想选择要部署到的其他服务器时,我是否都在编辑pom.xml文件?
答案 0 :(得分:0)
在~/.m2/settings.xml
中保留服务器ID(和凭据)的另一种方法是让服务器url成为pom.xml
中的参数:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>${deploy.server}</url>
</configuration>
<plugin>
然后,当您运行部署目标时,指定要使用的服务器的URL:
mvn tomcat7:deploy -Ddeploy.server="http://prod.example.com:8080/manager/text" -Dtomcat.username=sfalken -Dtomcat.password=JOSHUA