Развертывание проекта eclipse maven в Tomcat на удаленном Linux-сервере

Я ищу способ развернуть проект maven, разработанный с использованием eclipse, на Tomcat удаленного сервера Linux. Я знаю, что вы можете экспортировать его как файл .war и сбросить его в папку CATALINA_HOME/webapps на удаленном сервере. Но для этого вам нужно сначала экспортировать его в файл .war, а затем скопировать файл .war на удаленный сервер через SFTP или SCP. Я ищу способ сделать это несколькими щелчками мыши, используя eclipse или/и настроив некоторые параметры maven (в pom.xml или settings.xml). Кто-нибудь знает как это сделать? Любая помощь очень ценится.


person Danush    schedule 29.05.2012    source источник


Ответы (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 страницы плагина для получения более подробной информации.

person Wojtek Owczarczyk    schedule 29.05.2012
comment
Спасибо Войтек. Попробую это. - person Danush; 31.05.2012
comment
Ваши ссылки битые... - person Snickbrack; 17.02.2021

Наиболее гибким решением с адаптерами для множества различных контейнеров, таких как Tomcat, Jetty, Glassfish и т. д., является, вероятно, плагин Maven Cargo. Вы можете найти обширный список примеров на их главной странице, поэтому нет необходимости чтобы снова вставить это сюда.

person Sebi    schedule 29.05.2012
comment
Эта ссылка битая... - person Snickbrack; 17.02.2021

Чтобы удаленно развернуть приложение, вам необходимо настроить приложение развертывания 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. это очень ново
person Mark O'Connor    schedule 29.05.2012