Я установил Tomcat 7.0.59 в OSX, однако при запуске плагина maven он говорит, что он работает 7.0.47 и создает новый каталог tomcat в целевой среде с некоторой новой конфигурацией. Я просто хочу, чтобы он запускал версию, которую я установил на машине, чтобы использовать конфигурацию под $ CATALINA_HOME/conf и развернуть приложение в $ CATALINA_HOME/webapps как обычно.Tomcat 7 Maven plugin running differrent version of Tomcat
Вот сообщение, когда работает плагин:
[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 _designed_ для запуска встроенного Tomcat. Вот что он делает! Вы можете попросить его развернуть приложение на экземпляр Tomcat с использованием [цели развертывания] (http://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/deploy-mojo.html), но это не запускает Tomcat. Maven не должен запускать внешние службы, это не то, что делает Maven, и плагины следуют этому дизайну. –
спасибо. В этом случае как можно скопировать файлы в $ CATALINA_HOME/conf в target/tomcat/conf? – CCC
Да, пожалуйста, ознакомьтесь с документацией. Существует множество опций конфигурации. Вы ищете ['extraConfigFilesDir'] (http://tomcat.apache.org/maven-plugin-2.0/tomcat7-maven-plugin/run-war-mojo.html#additionalConfigFilesDir). –