1

eclipseを使用して開発されたMavenプロジェクトをリモートのLinuxサーバーのTomcatにデプロイする方法を探しています。.warファイルとしてエクスポートし、リモートサーバーのCATALINA_HOME/webappsフォルダーにダンプできることを知っています。ただし、そのためには、最初に.warファイルにエクスポートしてから、SFTPまたはSCPを介して.warファイルをリモートサーバーにコピーする必要があります。Eclipseを使用したり、いくつかのMaven設定(pom.xmlまたはsettings.xml)を構成したりして、数回クリックするだけでそれを実行する方法を探しています。誰かがこれを行う方法を知っていますか?どんな助けでも本当にありがたいです。

4

3 に答える 3

1

あなたが探しているツールはTomcat Maven Pluginと呼ばれています

基本的に行うことは、使用している Tomcat インスタンスにデプロイされていることを確認する必要があるTomcat マネージャーアプリケーションの API を使用することです。デフォルトでは、Tomcat マネージャーは次の場所で利用できるはずです。

http://ip_of_your_linux_server:8080/manager/html

インストールされていない場合は、次のコマンドを使用してインストールしてください。

sudo apt-get install tomcat6-admin

Tomcatインスタンスの場所は次のように構成できます。

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
                <url>http://www.mydomain.com:1234/mymanager</url>
        </configuration>
</plugin>

次に、maven mvn tomcat:deployゴールを実行します。( m2Eclipse プラグインを使用した Eclipse からのコマンド ラインからのいずれか。)

より詳細な情報については、プラグインの構成展開のページを参照してください。

于 2012-05-29T12:17:02.550 に答える
0

アプリケーションをリモートでデプロイするには、tomcatインスタンスでtomcatデプロイヤーアプリを構成する必要があります。管理者ユーザーの構成は、Tomcat6と7の間で微妙な変更が加えられていることに注意してください。

これが機能すると、Mavenカーゴプラグインは次のようにwarファイルをデプロイできます。

<plugin>    
    <groupId>org.codehaus.cargo</groupId>    
    <artifactId>cargo-maven2-plugin</artifactId>    
    <version>1.2.1</version>    
    <executions>    
        <execution>    
            <id>tomcat-deploy</id>    
            <phase>package</phase>    
            <configuration>    
                <container>    
                    <containerId>tomcat7x</containerId>    
                    <type>remote</type>    
                </container>    
                <configuration>    
                    <type>runtime</type>    
                    <properties>    
                        <cargo.remote.uri>${tomcat.manager.url}</cargo.remote.uri>    
                        <cargo.remote.username>${tomcat.manager.user}</cargo.remote.username>
                        <cargo.remote.password>${tomcat.manager.pass}</cargo.remote.password>
                    </properties>
                </configuration>
                <deployer>
                    <deployables>
                        <deployable>
                           <groupId>${project.groupId}</groupId>
                            <artifactId>${project.artifactId}</artifactId>
                            <type>war</type>
                            <properties>
                                <context>${project.artifactId}</context>
                            </properties>
                        </deployable>
                    </deployables>
                </deployer>
            </configuration>
            <goals>
                <goal>deploy</goal>
            </goals>
        </execution>
    </executions>
</plugin>      

その他の注意事項

  • Cargoプラグインはいくつかの異なるコンテナをサポートしていますが、問題はドコの解釈が難しいことです。
  • Mavenプラグインを使用していません。とても新しいです
于 2012-05-29T18:16:10.783 に答える
0

Tomcat、Jetty、Glassfish などのさまざまなコンテナー用のアダプターを備えた最も柔軟なソリューションは、おそらく Maven Cargo プラグインです。ホームページで例の広範なリストを見つけることができるので、ここに再度貼り付ける必要はありません.

于 2012-05-29T12:21:22.750 に答える