Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

Ответ 2

Существует несколько способов развертывания 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, но поскольку вы уже знаете, как использовать веб-интерфейс, я предполагаю, что вы знаете, как настроить пользователей и пароли.

Ответ 3

вы можете отредактировать 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.

Ответ 4

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

Ответ 5

Tomcat Client Deployer Package - это то, что вам нужно для развертывания на удаленном сервере из командной строки. На странице:

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

Ответ 6

Вы также можете попробовать эту командную строку script для управления 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