mvn tomcat7:run - How does it work?

落花浮王杯 提交于 2019-11-28 19:57:43

问题


I just want to understand, because I got the code from another question, and it's working fine, but I don't understand the flow of this operation.

This is my understanding of Apache Maven Tomcat plugin for Tomcat 7, when using mvn tomcat7:run with following configuration:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0-SNAPSHOT</version>
    <configuration>
        <path>/${project.build.finalName}</path>
    </configuration>
</plugin>

It creates a new Tomcat 7 instance with default configuration, then use project war file as a deployed project in this instance, am I right, please correct me if I am wrong, or someone please describe to me how this process is working, thanks in advance.


回答1:


pom.xml of the tomcat7-maven-plugin depends on Tomcat's bundles. Maven download them and the plugin starts an embedded Tomcat instance with the webproject.

mvn -X tomcat7:run prints the configuration. Some interesting parts:

[INFO] Preparing tomcat7:run
[DEBUG] (s) resources = [Resource {targetPath: null, filtering: false, 
    FileSet {directory: /workspace/webtest1/src/main/resources, 
    PatternSet [includes: {}, excludes: {}]}}]
...
[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
...
[INFO] Creating Tomcat server configuration at /workspace/webtest1/target/tomcat
...
[DEBUG] adding classPathElementFile file:/workspace/webtest1/target/classes/
[DEBUG] add dependency to webapploader org.slf4j:slf4j-api:1.5.6:compile
...

warSourceDirectory points to src (not target), so it runs as an usual dynamic web project, you could change your JSPs, HTMLs and it will visible immediately. Because of that the target/tomcat/webapps folder is empty.

The site of v1.2 contains a more detailed documentation than the site of 2.0-SNAPSHOT about configuration: http://mojo.codehaus.org/tomcat-maven-plugin/plugin-info.html.



来源:https://stackoverflow.com/questions/7823346/mvn-tomcat7run-how-does-it-work

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!