Działa to dla mnie: http://tomcat.apache.org/maven-plugin-2.1/
Dzięki tej konfiguracji wtyczki:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
i działa z
mvn clean install tomcat7:run
(Należy pamiętać, że tomcat7:run
nie tomcat:run
.)
Dokumentacja wtyczki znajduje się tutaj: http://tomcat.apache.org/maven-plugin-2.1/tomcat7-maven-plugin/plugin-info.html
Na przykład the default value of additionalConfigFilesDir
jest ${basedir}/src/main/tomcatconf
, więc jeśli umieścić swoje pliki konfiguracyjne do tego katalogu będzie on używany na tomcat7:run
.
mvn -X tomcat7:run
drukuje configration, na przykład:
[DEBUG] (f) additionalConfigFilesDir = /workspace/webtest1/src/main/tomcatconf
[DEBUG] (f) configurationDir = /workspace/webtest1/target/tomcat
...
[DEBUG] (f) path = /webtest1
...
[DEBUG] (f) port = 8080
[DEBUG] (f) project = ...:webtest1:0.0.1-SNAPSHOT @ /workspace/webtest1/pom.xml
...
[DEBUG] (f) warSourceDirectory = /workspace/webtest1/src/main/webapp
Zauważ, że warSourceDirectory
punkty src
(nie target
), tak, że działa jako zwykły dynamiczny projekt WWW, można zmienić JSP, HTMLs i będzie widoczne natychmiast. Dlatego folder target/tomcat/webapps
jest pusty.
Gdy próbowałem go, mam wyjątek: 'OSTRZEŻENIE: Nie można załadować klasy [org.codehaus.classworlds.ConfiguratorAdapter], aby sprawdzić adnotację @HandlesTypes jednego lub więcej obiektów ServletContentInitializers. java.lang.ClassNotFoundException: org.codehaus.classworlds.ConfiguratorAdapter' wszelkie pomysły? –
napisałem o wyjątku tutaj: http://stackoverflow.com/questions/7821622/unable-to-load-class-org-codehaus-classworlds-configuratoradapter-to-check-aga –
innym pytaniem jest to, że kiedy próbowałem zmienić katalog konfiguracyjny tomcat jako: ' D: \ apache-tomcat-7.0.22 \ conf tomcatConfigurationFilesDirectory>' to nie działa, nadal stosuje konfigurację z aplikacji \ target \ tomcat –