Как развернуть файл войны в 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