Maven Tomcat插件 - 指定战争的命运?

时间:2012-03-11 21:16:23

标签: tomcat maven maven-plugin

我正在运行 mvn tomcat:deploy ,以便尝试部署我想在Tomcat 7.0.8中的虚拟主机上运行的war文件。我已经验证了虚拟主机工作正常,并且还将管理器应用程序复制到虚拟主机。

更新了我的pom以指向我的新虚拟主机,当我运行mvn tomcat时:重新部署它不会将我的war文件放入正确的文件夹中。似乎总是把它放在 webapps 文件夹中。如果我然后将战争复制到我为我的虚拟主机设置的文件夹,那么它可以工作,但它不会自动执行此操作。

我错过了一个配置选项吗?是否有 warDestination 设置或类似内容?

作为参考,这是我的pom.xml中的一个片段:

<build>
    <plugins>
        <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
            <configuration>
                <url>http://myvhost.local:8080/manager/html</url>
                <server>myvhost</server>
                <path>/</path>
             </configuration>
        </plugin>
    </plugins>
</build>

以及来自settings.xml的相关代码段:

<servers>
    <server>
        <id>myvhost</id>
        <username>testing</username>
        <password>testing</password>
    </server>
</servers>

更新:我通过将我使用的插件更改为以下内容来解决此问题:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0-beta-1</version>
    <configuration>
        <url>http://myvhost.local:8080/manager/html</url>
        <server>myvhost</server>
        <path>/</path>
    </configuration>
</plugin>

然后我尝试运行 mvn tomcat7:deploy ,但发现我必须将以下内容添加到 settings.xml 以便 tomcat7 要识别的前缀:

<pluginGroups>
    <pluginGroup>org.apache.tomcat.maven</pluginGroup>
</pluginGroups>

我现在可以通过运行 mvn tomcat7:deploy 来部署到我的虚拟主机 - 遗憾的是我看不到重新部署已经部署的战争的方法,就像我可以使用之前的插件一样...我会继续搜索。

更新:看起来重新部署的能力是 tomcat7-maven-plugin 插件的 2.0-SNAPSHOT 版本,但不是存储库中的 2.0-beta-1 版本。希望很快就能发布。

谢谢,

詹姆斯。

1 个答案:

答案 0 :(得分:2)

您可以在配置设置中使用来定义war文件路径。请在下面找到示例代码snippt

<plugin>
        <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
          <warFile>/path/file.war</warFile>
        </configuration>
</plugin>