Как развернуть файл войны в JBoss AS 7?

Я скачал JBoss Application Server 5 и успешно развернул файл войны. Я скопировал Hello.war, который имеет простой файл index.jsp в

\jboss-5.1.0.GA-jdk6\jboss-5.1.0.GA\server\default\deploy

и это работало нормально.

Однако когда я использовал JBoss AS 7 и развернул здесь файл войны, он не был выполнен.

jboss-as-7.0.0.Final\jboss-as-7.0.0.Final\standalone\deployments

Как это развернуть?

РЕДАКТИРОВАТЬ: Я погуглил, но не смог найти информацию, поскольку JBoss AS 7 является относительно новым.

6 ответов

Решение

На самом деле, для последней JBOSS 7 AS нам нужен .dodeploy маркер даже для архивов. Поэтому добавьте маркер для запуска развертывания.

В моем случае я добавил Hello.war.deployed файл в том же каталоге, а затем все работало нормально.

Надеюсь, это поможет кому-то!

Прочитайте файл $AS/standalone/deployments/README.txt

  • у вас есть два разных режима: режим автоматического развертывания и режим ручного развертывания
  • для режима ручного развертывания вы должны поместить файлы маркеров, как описано в других постах
  • для режима автоматического развертывания: это делается с помощью атрибутов "auto-deploy" в элементе deploy-scanner в файле конфигурации standalone.xml:

    <deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir"
    path="deployments" auto-deploy-zipped="true" **auto-deploy-exploded="true"**/>
    

Я создал следующую муравьиную задачу для развертывания на основе документации по развертыванию jboss:

<target name="deploy" depends="jboss.environment, buildwar">
    <!-- Build path for deployed war-file -->
    <property name="deployed.war" value="${jboss.home}/${jboss.deploy.dir}/${war.filename}" />

    <!-- remove current deployed war -->
    <delete file="${deployed.war}.deployed" failonerror="false" />
    <waitfor maxwait="10" maxwaitunit="second">
        <available file="${deployed.war}.undeployed" />
    </waitfor>
    <delete dir="${deployed.war}" />

    <!-- copy war-file -->
    <copy file="${war.filename}" todir="${jboss.home}/${jboss.deploy.dir}" />

    <!-- start deployment -->
    <echo>start deployment ...</echo>
    <touch file="${deployed.war}.dodeploy" />

    <!-- wait for deployment to complete -->
    <waitfor maxwait="10" maxwaitunit="second">
        <available file="${deployed.war}.deployed" />
    </waitfor>
    <echo>deployment ok!</echo>
</target>

${jboss.deploy.dir} установлен в standalone/deployments

Можете ли вы предоставить больше информации об ошибке развертывания? Сбой при развертывании приложения вызывает файл маркера .war.failed?

Папка развертывания автономного экземпляра поставляется с автоматическим развертыванием, включенным по умолчанию. Режим автоматического развертывания автоматизирует те же функциональные возможности, которые вы используете в ручном режиме, используя серию файлов маркеров, чтобы указать действие и состояние развертывания во время выполнения. Например, вы можете использовать команду "touch" unix/linux, чтобы создать файл маркера .war.dodeploy, чтобы сообщить среде выполнения о развертывании приложения.

Может быть полезно знать, что в общей сложности существует пять способов развертывания приложений на AS7. Я коснулся этого в другой теме здесь: файлы JBoss AS7 *.dodeploy

Я склонен использовать Консоль управления для управления приложениями, но я знаю, что CLI Management очень популярен среди других применений. Оба являются отдельными для процессов папки развертывания. Посмотрите, как вы используете другие методы, чтобы соответствовать вашим потребностям.

Если вы ищете "развертывание" в Руководстве администратора, вы увидите раздел сканера развертывания и более общий раздел развертывания (включая CLI): https://docs.jboss.org/author/display/AS7/Admin+Guide

Просто скопируйте файл war в автономную папку /deployments/, он должен развернуться автоматически. Он также создаст файл your_app_name.deployed при развертывании вашего приложения. Также убедитесь, что вы запускаете сервер с помощью сценария bin/standalone.sh.

Откройте консоль и перейдите в папку bin и запустите

JBOSS_HOME/bin > stanalone.sh

Как только он будет запущен, просто скопируйте ваш военный файл в

standalone/deployments folder

Это, вероятно, это для Jboss 7.1

Другие вопросы по тегам