Я ищу способ развернуть проект maven, разработанный с использованием eclipse, на Tomcat удаленного сервера Linux. Я знаю, что вы можете экспортировать его как файл .war и сбросить его в папку CATALINA_HOME/webapps на удаленном сервере. Но для этого вам нужно сначала экспортировать его в файл .war, а затем скопировать файл .war на удаленный сервер через SFTP или SCP. Я ищу способ сделать это несколькими щелчками мыши, используя eclipse или/и настроив некоторые параметры maven (в pom.xml или settings.xml). Кто-нибудь знает как это сделать? Любая помощь очень ценится.
Развертывание проекта eclipse maven в Tomcat на удаленном Linux-сервере
Ответы (3)
Инструмент, который вы ищете, называется Tomcat Maven Plugin.
В основном он использует API приложения Tomcat manager, которое вы должны убедиться, что оно развернуто на используемом вами экземпляре 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. (Либо из командной строки, либо из Eclipse с помощью плагина m2Eclipse.)
См. конфигурацию и deployment страницы плагина для получения более подробной информации.
Наиболее гибким решением с адаптерами для множества различных контейнеров, таких как Tomcat, Jetty, Glassfish и т. д., является, вероятно, плагин Maven Cargo. Вы можете найти обширный список примеров на их главной странице, поэтому нет необходимости чтобы снова вставить это сюда.
Чтобы удаленно развернуть приложение, вам необходимо настроить приложение развертывания tomcat на экземпляре tomcat. Имейте в виду, что конфигурация пользователей-администраторов претерпела некоторые тонкие изменения между tomcat 6 и 7.
Как только это заработает, грузовой плагин Maven может развернуть военные файлы следующим образом:
<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. это очень ново