mvn tomcat7:run - 它是如何工作的?

fre*_*dev 27 tomcat maven tomcat7 maven-tomcat-plugin

我只是想理解,因为我从另一个问题得到了代码,并且它工作正常,但我不明白这个操作的流程.

这是我对Tomcat 7的Apache Maven Tomcat插件的理解,当使用mvn tomcat7时:使用以下配置运行:

<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>
Run Code Online (Sandbox Code Playgroud)

它创建了一个具有默认配置的新Tomcat 7实例,然后在这个实例中使用项目war文件作为已部署的项目,我是对的,请纠正我,如果我错了,或者有人请向我描述这个过程是如何工作的,谢谢预先.

pal*_*int 29

pom.xmltomcat7-maven-plugin取决于Tomcat的捆绑包.Maven下载它们,插件启动webproject的嵌入式Tomcat实例.

mvn -X tomcat7:run打印配置.一些有趣的部分:

[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
...
Run Code Online (Sandbox Code Playgroud)

warSourceDirectory指向src(非target),因此它作为通常的动态Web项目运行,您可以更改您的JSP,HTML并立即可见.因为该target/tomcat/webapps文件夹是空的.

v1.2的站点包含比2.0-SNAPSHOT关于配置的站点更详细的文档:http://mojo.codehaus.org/tomcat-maven-plugin/plugin-info.html.