27

別の質問からコードを取得したので理解したいだけで、正常に動作していますが、この操作の流れがわかりません。

これは、次の構成で 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ファイルをこのインスタンスで展開されたプロジェクトとして使用します。私が間違っている場合は修正してください。または、誰かがこのプロセスがどのように機能しているかを説明してください。前進。

4

1 に答える 1

30

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

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

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

于 2011-10-19T21:02:27.303 に答える