Java 如何在JBoss7上分别运行两个WAR文件

Java 如何在JBoss7上分别运行两个WAR文件,java,jboss,war,playframework-2.1,Java,Jboss,War,Playframework 2.1,我一直在寻找,但找不到解决我遇到的问题的办法 说明: 我有两个WAR文件stage.WAR和master.WAR,它们本质上是相同的应用程序,但名称不同。war文件是通过插件生成的,我使用该插件可以使用play框架进行开发 我的目标是在JBoss7上部署这两个WAR文件。但是当我尝试这样做时,只有一个WAR文件被部署,而另一个失败 我使用standalone.sh启动服务器,然后使用JBOSS中的/deployments文件夹部署WAR文件。因此,我基本上会将WAR文件放到/deployment

我一直在寻找,但找不到解决我遇到的问题的办法

说明: 我有两个WAR文件stage.WAR和master.WAR,它们本质上是相同的应用程序,但名称不同。war文件是通过插件生成的,我使用该插件可以使用play框架进行开发

我的目标是在JBoss7上部署这两个WAR文件。但是当我尝试这样做时,只有一个WAR文件被部署,而另一个失败

我使用standalone.sh启动服务器,然后使用JBOSS中的/deployments文件夹部署WAR文件。因此,我基本上会将WAR文件放到/deployments文件夹中,只有一个成功部署

以下是失败部署的服务器日志(stage.war.failed)


{“JBAS014653:复合操作失败并被回滚。失败的步骤:”=>{“操作步骤-2”=>{“JBAS014671:失败的服务”=>{“jboss.deployment.unit.\”stage.war\”。安装“=>”org.jboss.msc.service.StartException in service jboss.deployment.unit.\”stage.war\”。安装:无法处理部署的阶段安装\“stage.war\”}}}}

任何帮助都将不胜感激

请遵循以下步骤 1.制作独立文件夹的两个副本,将其命名为stage1和stage2

  • 现在,在部署目录下放置war文件

  • 在standalone.xml中进行适当的更改,以便端口不会冲突。 通过在
    套接字绑定组名称=“标准套接字”默认接口=“公共”端口偏移量=“${jboss.socket.binding.port offset:100}”>

  • 所以一个端口是8080,另一个是8180

  • 接下来,为两个独立实例创建单独的启动脚本,或者运行standalone.sh,指定如下参数 我使用.bat文件并使用cmd提示符启动它

    standalone.bat -Djboss.server.base.dir=../stage1 -  Dorg.jboss.boot.log.file=c:\tools\jboss\jboss-as-7.1.1.Final\stage1\log\boot.log -Dlogging.configuration=c:\tools\jboss\jboss-as-7.1.1.Final\stage1\configuration\logging.properties
    
    第二阶段也是如此


  • 希望这有所帮助。

    您是否已将应用程序配置为使用不同的上下文?你知道为什么一场战争在另一场战争部署时会失败吗,因为单独的战争不应该以任何方式相互影响?日志中也应该有更多信息性的错误消息。日志中应该有一个原因。谢谢,但我找到了它不起作用的原因。在JBoss的standalone.xml中,我注释掉了以下子系统部分:
    urn:JBoss:domain:pojo:1.0
    。似乎与我用来从play框架生成war文件的play->war插件存在一些冲突。按照相同的指令,我得到了地址绑定错误。可能缺少什么?您需要使用不同的端口运行两个Jboss实例,比如一个运行在8080上,另一个运行在9080上——这只是一个示例