我正在寻找一种方法来部署在远程linux服务器的tomcat中使用eclipse开发的maven项目。我知道您可以将其导出为.war文件并将其转储到远程服务器的CATALINA_HOME / webapps文件夹中。但为此,您必须先将其导出到.war文件,然后通过SFTP或SCP将.war文件复制到远程服务器。我正在寻找一种方法,只需点击几下使用eclipse或/并配置一些maven设置(在pom.xml或settings.xml中)。有谁知道如何做到这一点?任何帮助都非常感谢。
答案 0 :(得分:1)
您要使用的工具名为Tomcat Maven Plugin
它基本上是使用 Tomcat管理器应用程序的API,您必须确保将其部署在您正在使用的Tomcat实例上。默认情况下,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的命令行开始。)
请参阅插件的configuration和deployment页面以获取更详细的信息。
答案 1 :(得分:0)
对于许多不同容器(如Tomcat,Jetty,Glassfish等)的适配器,最灵活的解决方案可能是Maven Cargo插件。您可以找到an extensive list of examples on their homepage,因此无需再次粘贴此处。
答案 2 :(得分:0)
要远程部署应用程序,您需要在tomcat实例上配置tomcat deployer app。请注意,管理员用户的配置在tomcat 6和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>
附加说明