jboss 4 to jboss 6 deploy .ear 迁移问题

问题描述

如果有人有任何建议,我需要将此 meta-inf\jboss-app.xml 从 jboss 4.2.3 中的(工作)“my-ear.ear”转换为 jboss 6:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-app
    PUBLIC "-//JBoss//DTD J2EE Application 4.2//EN"
    "http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd">

<jboss-app>
    <module-order>strict</module-order>
    <loader-repository>
        seam.jboss.org:loader=my-ear.ear
    </loader-repository>
</jboss-app>

这里有一个通用的解释:https://access.redhat.com/solutions/331763 对于外部标签,它应该是:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd">

what should I put here for "seam" ? 

</application>

jboss-seam.jar 在 .ear 里面,还有一个 meta-inf\application.xml 好像没有报错:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
    version="5">

    <display-name>TServerConsole-ear</display-name>

    <!-- JBIDE-4166 Workaround - Make sure we deploy this first,since this is referenced in xxx-ejb.jar--> 
    <module>
        <ejb>jboss-seam.jar</ejb>
    </module>
    
    <module>
        <web>
            <web-uri>TServerConsole.war</web-uri>
            <context-root>/TServerConsole</context-root>
        </web>
    </module>

    <module>
        <ejb>TServerConsole-ejb.jar</ejb>
    </module>

</application>

我发现了这个 jboss-seam-2.3.0.CR1-dist/jboss-seam-2.3.0.CR1/doc/reference/html/configuration.html

my-application.ear/
jboss-seam.jar
库/
jboss-el.jar
元信息/
MANIFEST.MF
应用程序.xml
jboss-deployment-structure.xml
我的应用程序.war/
元信息/
MANIFEST.MF
WEB-INF/
web.xml
组件.xml
面孔-config.xml
库/
jboss-seam-ui.jar
登录.jsp
注册.jsp
...
我的应用程序.jar/
元信息/
MANIFEST.MF
持久性.xml
seam.properties
组织/
jboss/
我的应用程序/
用户
登录.class
登录Bean.class
注册.class
注册Bean.class
...

jboss 6 似乎接受这个 jboss-deployment-structure.xml :

<jboss-deployment-structure> 
   <deployment>
      <dependencies>
          <module name="org.javassist" export="true"/>
          <module name="org.dom4j" export="true"/>
          <module name="org.hibernate" export="true"/>
          <module name="org.hibernate.envers" export="true"/>
          <module name="javax.faces.api" export="true"/>
      </dependencies>
    </deployment>   
</jboss-deployment-structure> 

来自 2011 年左右的 seam 2.2.1 示例:http://seamframework.org/Seam2/Downloads.html

我尝试部署这个 jboss 接缝“预订”示例:

{"操作步骤 2" => {"JBAS014671:失败的服务" =>
{"jboss.module.service."deployment.seam-booking.ear.booking-web.war".main" => "org.jboss.msc.service.StartException in service
jboss.module.service."deployment.seam-booking.ear.booking-web.war".main: JBAS018759: 加载模块失败:deployment.seam-booking.ear.booking-web.war:main
引起:org.jboss.modules.ModuleNotFoundException: org.w3c.css.sac:main"}}}}

有没有用jboss 6和ear包含战争的seam的例子?

这个错误的根源是什么:

02:38:10,054 TRACE [org.jboss.modules] (ServerService Thread Pool -- 190) Found prevIoUsly loaded class org.jboss.seam.Component from Module "deployment.TServerConsole-ear.ear.jboss-seam.jar:main" from Service Module Loader  
02:38:10,051 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/TServerConsole]] (ServerService Thread Pool -- 190) JBWEB000287: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener: java.lang.RuntimeException: Could not create Component: tsHistoryConfigManager  
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1271) [jboss-seam.jar:2.3.0.CR1]  
    at  
 org.jboss.seam.init.Initialization.installComponents(Initialization.java:1187) [jboss-seam.jar:2.3.0.CR1]
    at org.jboss.seam.init.Initialization.init(Initialization.java:806) [jboss-seam.jar:2.3.0.CR1]
    at  
 org.jboss.seam.servlet.SeamListener.contextinitialized(SeamListener.java:36) [jboss-seam.jar:2.3.0.CR1]
    at  
 org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3780) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]  
    at  
 org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:163) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at  
 org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:61) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at  
 org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_282]  
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_282]  
    at  
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_282]
    at   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_282]  
    at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_282]  
    at org.jboss.threads.JBossthread.run(JBossthread.java:122)  
Caused by: java.lang.IllegalArgumentException: **You must specify org.jboss.seam.core.init.jndiPattern or use @JndiName: tsHistoryConfigManager**
    at org.jboss.seam.Component.getJndiName(Component.java:456) [jboss-seam.jar:2.3.0.CR1]  
    at org.jboss.seam.Component.<init>(Component.java:233) [jboss-seam.jar:2.3.0.CR1]  
    at org.jboss.seam.Component.<init>(Component.java:205) [jboss-seam.jar:2.3.0.CR1]  
    at   org.jboss.seam.init.Initialization.addComponent(Initialization.java:1255) [jboss-seam.jar:2.3.0.CR1]  
    ... 14 more  

这里有什么可以改变的吗:

TServerConsole-ejb.jar\components.properties  
jndiPattern=TServerConsole-ear/\#{ejbName}/local  

TServerConsole.war\WEB-INF\  
<core:init debug="true" jndi-pattern="@jndiPattern@" distributable="false" />  

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...