Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

  • Переходим в $CATALINA_HOME/ webapps, как уже упоминалось.
  • Использование ваших сценариев сборки для автоматического развертывания через интерфейс manager (поставляется вместе с Tomcat).Вот два способа
    • для Мавен:используйте плагин tomcat.Вам не нужно включать это в pom.xml, просто поставьте цель mvn tomcat:deploy, плагин включен в Maven 2.Это предполагает несколько значений по умолчанию, описанных в Документация, вы можете настройка поведение в pom.xml.Существуют и другие цели, которые позволяют выполнять развертывание в виде разнесенного архива и т.д..
    • для Муравей:что - то вроде этого:
    <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, но поскольку вы уже знаете, как пользоваться веб-интерфейсом, я предполагаю, что вы знаете, как настроить пользователей и пароли.

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

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

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

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

Кот Клиентский пакет для развертывания похоже, это то, что вам нужно для развертывания на удаленном сервере из командной строки.Со страницы:

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

Вы также можете попробовать это скрипт командной строки для управления tomcat называется tomcat-менеджер.Для этого требуется Python, и он взаимодействует с приложением Manager, входящим в комплект 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top