Tomcat 7 Maven插件运行不同版本的Tomcat

时间:2015-03-19 21:49:51

标签: java macos maven tomcat7 maven-tomcat-plugin

我在OSX中安装了Tomcat 7.0.59,但是在运行maven插件时,它说它正在运行7.0.47并且它在目标中创建了一个新的tomcat目录,并带有一些新的配置。 我只是想让它运行我在机器上安装的版本,使用$ CATALINA_HOME / conf下的配置,并将应用程序正常部署到$ CATALINA_HOME / webapps。

以下是运行插件时的消息:

[INFO] Running war on http://localhost:8080/xxx
[INFO] Creating Tomcat server configuration at /Users/abc/xxx/target/tomcat
[INFO] create webapp with contextPath: /xxx
INFO: Starting service Tomcat
Mar 19, 2015 3:12:45 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
Mar 19, 2015 3:12:50 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]

它创建了以下结构:

target/tomcat//conf:
logging.properties tomcat-users.xml   web.xml

target/tomcat//logs:
access_log.2015-03-19

target/tomcat//webapps:

target/tomcat//work:
Tomcat

target/tomcat//work/Tomcat:
localhost

target/tomcat//work/Tomcat/localhost:
xxx

target/tomcat//work/Tomcat/localhost/xxx:

这是插件的配置:

    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>localhost</server>
    </configuration>
</plugin>

这是/Library/Tomcat/bin/version.sh的输出:

Using CATALINA_BASE:   /Library/Tomcat
Using CATALINA_HOME:   /Library/Tomcat
Using CATALINA_TMPDIR: /Library/Tomcat/temp
Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
Using CLASSPATH:       /Library/Tomcat/bin/bootstrap.jar:/Library/Tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.59
Server built:   Jan 28 2015 15:51:10 UTC
Server number:  7.0.59.0
OS Name:        Mac OS X
OS Version:     10.10.2
Architecture:   x86_64
JVM Version:    1.8.0_40-b25
JVM Vendor:     Oracle Corporation

2 个答案:

答案 0 :(得分:3)

背后的原因是maven插件下载了自己的tomcat版本(与本地安装的tomcat无关)。

tomcat7-maven-plugin v。2.2依赖于Tomcat v。7.0.47

tomcat7-maven-plugin引用父项目tomcat-maven-plugin,它本身定义了正在使用的tomcat版本(<tomcat7Version>7.0.47</tomcat7Version>)。只需看看POM XML。

答案 1 :(得分:0)

您可以安装最新版本的Tomcat(8.0.20),手动启动它,然后运行Tomcat 7 maven插件,没有任何问题。我的博客(http://blog.devcanvas.org/deploy-a-web-application-from-the-command-line-by-using-tomcat-maven-plugin/)上有一篇完整说明的文章。 尝试将brew用于Tomcat和maven。