web-dev-qa-db-ja.com

mvn Tomcat7:run-どのように機能しますか?

別の質問からコードを取得したので理解したいのですが、問題なく機能しますが、この操作の流れがわかりません。

これは、次の構成でmvn Tomcat7:runを使用する場合の、Tomcat 7のApache Maven Tomcatプラグインに関する私の理解です。

<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>

デフォルトの構成で新しいTomcat 7インスタンスを作成し、このインスタンスでデプロイされたプロジェクトとしてプロジェクトwarファイルを使用します。正しいですか、間違っている場合は修正してください。または、誰かがこのプロセスがどのように機能しているか説明してください。前進。

27
fresh_dev

pom.xml/Tomcat7-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
...

warSourceDirectorysrctargetではない)を指すため、通常の動的Webプロジェクトとして実行され、JSP、HTMLを変更すると、すぐに表示されます。そのため、target/Tomcat/webappsフォルダが空です。

V1.2のサイトには、2.0-SNAPSHOTのサイトよりも詳細な構成に関するドキュメントが含まれています http://mojo.codehaus.org/Tomcat-maven-plugin/plugin-info.html

29
palacsint