Развертывание военного файла на Tomcat

17

Есть ли способ развернуть данный файл войны на сервере Tomcat? Я хочу сделать это без использования веб-интерфейса.

    
задан Milhous 27.09.2008 в 02:02
источник

6 ответов

11

Просто скопируйте файл войны в каталог $ TOMCAT_HOME / webapps /. Tomcat разворачивает военный файл, автоматически взрывая его. FYI. Если вы хотите, вы можете делать обновления непосредственно в взорванном каталоге, что полезно для разработки.

    
ответ дан Joe Dean 27.09.2008 в 02:10
источник
  • , поэтому я могу запустить rsync -delete на справочнике на сервере? –  Milhous 27.09.2008 в 03:13
23

Существует несколько способов развертывания Tomcat webapp:

  • Сбрасывание в $ CATALINA_HOME / webapps, как уже упоминалось.
  • Использование сценариев сборки для автоматического развертывания через интерфейс менеджера (который поставляется с Tomcat). Вот два способа
    • для Maven : используйте плагин tomcat. Вам не нужно включать его в pom.xml , просто введите цель mvn tomcat:deploy , плагин включен в Maven 2. Это предполагает несколько значений по умолчанию, описанных в , вы можете настроить поведение в pom.xml . Существуют и другие цели, которые позволяют развертывать в виде вложенного архива и т. Д. .
    • для Ant : что-то вроде этого:
    <property name="manager.url"   value="http://localhost:8080/manager"/>
    <property name="manager.username" value="manager"/>
    <property name="manager.password" value="foobar"/>
    <!-- Task definitions -->
    <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>
    <taskdef name="list"     classname="org.apache.catalina.ant.ListTask"/>
    <taskdef name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
    <!-- goals -->
    <target name="install" depends="compile" description="Install application to servlet container">
        <deploy url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"
                localWar="file://${build.home}"/>
    </target>
    <target name="list" description="List installed applications on servlet container">
        <list    url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"/>
    </target>
    <target name="reload" depends="compile" description="Reload application on servlet container">
        <reload url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"/>
    </target>
    <target name="remove" description="Remove application on servlet container">
        <undeploy url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"/>
    </target>

Все из них потребуют от вас настройки пользователя Tomcat. Он живет $CATALINA_BASE/conf/tomcat-users.xml , но поскольку вы уже знаете, как использовать веб-интерфейс, я полагаю, вы знаете, как настроить пользователей и пароли.

    
ответ дан Aleksandar Dimitrov 27.09.2008 в 10:56
источник
  • Привет, У меня есть аналогичная установка <target>, но я получаю FileNotFoundException: http: // localhost: 8080 / manager / deploy? path =% 2Feccount & war = file% 3A% 2F% 2FC% 3A% 5Ceccount% 2Fout% 2FWAR -exploded. Хотя файл доступен в файле: /// C: / eccount / out / WAR-exploded через веб-браузер. Моя версия tomcat - 7.0.37. –  prayagupd 16.08.2013 в 14:24
2

Мы никогда не используем веб-интерфейс, не нравится. Войны удаляются в файлах webapps и server.xml при необходимости. Вам нужно отбросить его, если вы отредактируете файл server.xml, но файл войны должен быть выбран автоматически. Обычно мы удаляем каталог, развернутый с начала войны, поэтому нет путаницы с тем, откуда пришли компоненты.

    
ответ дан dacracot 27.09.2008 в 02:13
источник
  • Итак, если вы развертываете новую версию своего приложения в Tomcat, вы сначала удаляете каталог своего приложения из каталога $ TOMCAT_HOME / webapps /, правильно? Tomcat автоматически удаляет файл .WAR? –  craig 19.12.2011 в 17:12
2

вы можете отредактировать conf / server.xml и добавить запись, подобную этой, указывающую на ваш военный каталог

    <Context path="/strutsDisplayTag" 
        reloadable="true" 
        docBase="C:\work\learn\jsp\strutsDisplayTag" 
        workDir="C:\work\learn\jsp\strutsDisplayTag\work" />

ELSE  вы можете скопировать ваш .WAR-файл в каталог webapps tomcat.

    
ответ дан anjanb 27.09.2008 в 02:05
источник
1

The Tomcat Пакет клиентского развертывания выглядит так, как вам нужно развернуть на удаленном сервере из командной строки. На странице:

  

Это пакет, который можно использовать для проверки, компиляции, сжатия на .WAR и развертывания веб-приложений для производства или разработки серверов Tomcat. Следует отметить, что в этой функции используется Tomcat Manager, и поэтому должен быть запущен целевой сервер Tomcat.

    
ответ дан John Meagher 27.09.2008 в 02:37
источник
1

Вы также можете попробовать этот скрипт командной строки для управление tomcat под названием tomcat-manager. Он требует Python и разговаривает с приложением менеджера, включенным в tomcat через HTTP. Вы можете делать вещи из оболочки * nix, например:

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp

и

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
    
ответ дан kotfu 03.01.2013 в 08:04
источник