【发布时间】:2015-03-19 21:49:51
【问题描述】:
我在 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
【问题讨论】:
-
tomcat7-maven-plugin 设计 用于运行嵌入式 Tomcat。这就是它的作用!您可以要求它使用deploy goal 将应用程序部署到现有的 Tomcat 实例,但这不会启动 Tomcat。 Maven 不应该启动外部服务,这不是 Maven 所做的 - 插件遵循这种设计。
-
谢谢。在这种情况下,如何将 $CATALINA_HOME/conf 中的文件复制到 target/tomcat/conf?
-
是的,请阅读文档。有大量的配置选项。您正在寻找
additionalConfigFilesDir。
标签: java macos maven tomcat7 maven-tomcat-plugin