mvn clean tomcat:运行命令

时间:2014-06-20 05:55:06

标签: maven tomcat

当我运行" mvn clean tomcat:run" (没有指定任何tomcat版本)命令从命令提示符运行我的web应用程序,它下载tomcat 6.0.29版本依赖,如下所示:

org / apache / tomcat / juli / 6.0.29 / juli-6.0.29.pom

组织/阿帕奇/ Tomcat的/注释-API / 6.0.29 /注释-API-6.0.29.pom

组织/阿帕奇/ Tomcat的/卡塔利娜-HA / 6.0.29 /卡塔利娜-HA-6.0.29.pom

组织/阿帕奇/ Tomcat的/丛林狼/ 6.0.29 /丛林狼-6.0.29.pom

组织/阿帕奇/ Tomcat的/部落/ 6.0.29 /部落-6.0.29.pom

组织/阿帕奇/ Tomcat的/碧玉-EL / 6.0.29 /碧玉-EL-6.0.29.pom

组织/阿帕奇/ Tomcat的/ DBCP / 6.0.29 / DBCP-6.0.29.pom

应用程序的pom.xml文件不包含运行所需的任何tomcat版本

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.0.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
    <finalName>esa</finalName>
</build>

所以我的查询是如何决定下载特定的tomcat版本依赖。

3 个答案:

答案 0 :(得分:1)

可能是您运行的tomcat插件的默认设置。

尝试运行mvn tomcat:help -Ddetails以查看您使用的插件版本以及如何配置。

我认为它是该插件的早期版本,您现在可以使用显式版本,例如

mvn org.apache.tomcat.maven:tomcat6-maven-plugin:2.0:run
mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:run

(或更短的形式)

答案 1 :(得分:1)

似乎,你正在运行codehaus的tomcat-maven-plugin,而且内置了tomcat 6.0.29。 (似乎自2010年以来没有任何活动。) 你应该从apache尝试tomcat7插件。

此致 蒂博尔

答案 2 :(得分:0)

在maven的命令行中使用--debug选项来获取构建过程的说明。对于我们的案例输出如下:

...[DEBUG] Resolving plugin prefix tomcat from [org.apache.maven.plugins, org.codehaus.mojo] ... [DEBUG] Resolved plugin version for org.codehaus.mojo:tomcat-maven-plugin to 1.1 from repository central (http://repo.maven.apache.org/maven2, releases)...

实际上为了解释为什么我们在没有指定tomcat的情况下得到了tomcat v1.1,请记住maven构建过程已经使用构建插件进行了自定义。每个构建插件都有自己的构建插件。因此,检查有效的pom文件就足以清楚地了解到几乎空的初始pom.xml具有相当大的有效pom.xml。

要克服问题,只需使用tomcat插件的显式版本。