使用Tomcat Maven插件和多个服务器

时间:2010-11-19 19:05:49

标签: maven-2 tomcat

我查看了usage,但还没有从中了解如何配置多个服务器。我在settings.xml中添加了单独的server元素 - 但我不明白如何为每个服务器指定不同的URL。

URL元素属于全局插件配置。如何配置多个服务器URL?

2 个答案:

答案 0 :(得分:6)

您可以向pom.xml添加多个配置文件。每个服务器一个。有关详细信息,请查看Maven documentation on profiles

答案 1 :(得分:2)

如果您查看Tomcat插件的文档,您会发现它不支持多个< configuration>部分。这应该是一个小小的补充,因为在部署阶段,您只使用HTTP PUT命令将WAR文件复制到服务器。所以我想知道为什么他们没有将这个功能添加到插件中。

无论如何,一种可能的解决方法是:

  1. 在同一目录中制作pom.xml的多个副本,但为它们指定唯一的名称,例如: dev_1_pom.xml或dev_< some_machine_name_or_IP>,qa_1_pom.xml .....你可以保持你的开发pom.xml文件名相同,因为你可能仍然会从命令行运行Maven。就个人而言,我更喜欢从我的IDE运行 mvn 命令(点击一下按钮,而不是每次都用参数键入 mvn 命令。)

  2. 在每个副本中,更改< configuration>您的Tomcat插件下的部分指向与您的特定pom.xml的名称匹配的其他服务器。您将需要settings.xml

  3. 中的相应部分
  4. 创建相应的外部工具配置(Eclipse或其他IDE),每个人都调用相应的POM文件。这是Eclipse的一个例子:

    在Eclipse中打开“外部工具配置”对话框(从该按钮旁边的下拉菜单中,或者转到菜单栏并单击“运行”>“外部工具”>“外部工具配置”)。然后在主选项卡上,为以下字段提供值
        位置:C:\ downloads \ tools \ apache-maven-3.0.3 \ bin \ mvn.bat
        工作目录:${workspace_loc:/<project_name>} - 替换&lt; project_name&gt;用你的项目名称
        参数: -f&lt; pom_file_name&gt; &lt; other_arguments&gt; - &lt; other_arguments&gt;可能是tomcat7:重新部署

    现在,您可以单独运行这些外部工具启动程序以部署到不同的服务器。

  5. (可选)从启动器中提取 mvn 命令,并创建一个运行所有命令的shell脚本(批处理或Unix bash脚本)。这样您就可以同时部署到多个服务器。您也可以从Eclipse运行此脚本。创建一个新的外部工具配置启动器,但这次您的位置:字段将指向 cmd (Windows)或 bash (Unix,Linux ...),而不是 MVN