Java 我正在尝试将SEAM 2.3项目部署到Jboss WildFly 8.x上

Java 我正在尝试将SEAM 2.3项目部署到Jboss WildFly 8.x上,java,jboss,seam,wildfly,Java,Jboss,Seam,Wildfly,大家好,请帮忙 我什么都试过了。我正试图在WildFly Jboss新服务器上部署一个Seam项目。我犯了一些错误。我将ear文件放入WildFly-8.2.0Final中,然后创建一个ear.dodeploy文件,等待它自动运行。缺少/不可用依赖项的服务是我需要解决的错误。我得到以下错误: 15:46:12,061 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 1) JBAS0

大家好,请帮忙

我什么都试过了。我正试图在WildFly Jboss新服务器上部署一个Seam项目。我犯了一些错误。我将ear文件放入WildFly-8.2.0Final中,然后创建一个ear.dodeploy文件,等待它自动运行。缺少/不可用依赖项的服务是我需要解决的错误。我得到以下错误:

15:46:12,061 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 1) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "Atlast2.3.ear")]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher.ValidatorFactory is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher]",
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher.Validator is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher]",
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations.Validator is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations]",
    "jboss.persistenceunit.\"Atlast2.3.ear/Atlast2.3.jar#Atlast2.3\".__FIRST_PHASE__ is missing [jboss.naming.context.java.\"Atlast2.3Datasource\"]",
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations.InAppClientContainer is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations]",
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations.InstanceName is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations]",
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations.ValidatorFactory is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.EjbSynchronizations]",
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher.InstanceName is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher]",
    "jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher.InAppClientContainer is missing [jboss.naming.context.java.comp.\"Atlast2.3\".jboss-seam.TimerServiceDispatcher]"
]}
15:46:12,301 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018559: Deployed "Atlast2.3.ear" (runtime-name : "Atlast2.3.ear")
15:46:12,302 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 1) JBAS014774: Service status report
JBAS014776:    Newly corrected services:
      service jboss.naming.context.java.module."Atlast2.3"."Atlast2.3.war" (new available)
      service jboss.naming.context.java.module."Atlast2.3".jboss-seam (new available)
      service jboss.persistenceunit."Atlast2.3.ear/Atlast2.3.jar#Atlast2.3".__FIRST_PHASE__ (new available)

将Seam 2.3 EAR应用程序迁移到WildFly 9时,我能够解决WFLYCTL0180:服务缺少/不可用依赖项的问题 类似于上面的错误,在EJB JAR之后部署Seam JAR。这可以在EAR META-INF/application.xml中配置:

重新启动WildFly并验证是否显示新版本:

bin/jboss-cli.sh -c --commands="/subsystem=jsf/:list-active-jsf-impls"
为了确保使用正确的版本,在我的情况下,需要进行以下两项更改:

在EAR META-INF/jboss-deployment-structure.xml中:


Seam的哪个版本?您会发现部署到JBoss AS7 EAP 6更容易,很多seam库都无法使用wildfly seam,因为它基于Java EE5,而wildfly EE7I使用的是seam 2.3.1。是的,我以前在JBoss服务器上运行过这个应用程序,但现在我们正在迁移到WildFly8。我已经试过了,现在仍然在试,但还是会出错。任何帮助都将不胜感激。感谢@DaveBOk,我最近尝试在Wildfly上部署SEAM 2.3.1应用程序,但遇到了类似的错误,我放弃了,因为官方的建议是“它没有为此进行测试”,我已经看到一些人这样做的报告,我想这取决于你在应用程序中使用的LIB…对不起,我帮不上忙了。谢谢,希望尽快收到你的回复。看起来我差点让它跑起来了。当我尝试运行应用程序时,我得到一个java.lang.IllegalStateException。我去掉了焊缝。异常看起来像以下错误[io.undertow.request]默认任务-3 UT005023:异常处理请求到/Atlas3/home.seam:java.lang.IllegalStateException,位于com.sun.faces.context.FacesContextImpl.assert。。。任何帮助都将不胜感激。
git clone git://github.com/wildfly/wildfly.git
cd wildfly
git checkout 9.0.1.Final
./build.sh
cd jsf/multi-jsf-installer
mvn -Djsf-version=2.1.29 -Pmojarra-2.x clean assembly:single
mv target/install-mojarra-2.1.29.zip target/install-mojarra-2.1.29.cli
[Start WildFly in another console: bin/standalone.sh]
bin/jboss-cli.sh -c "deploy target/install-mojarra-2.1.29.cli"
bin/jboss-cli.sh -c --commands="/subsystem=jsf/:list-active-jsf-impls"
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
    <deployment>
        <dependencies>
            <module name="javax.faces.api" export="true" slot="mojarra-2.1.29" />
            <module name="com.sun.jsf-impl" export="true" slot="mojarra-2.1.29" />
            <module name="org.jboss.as.jsf-injection" export="true" slot="mojarra-2.1.29" />
            ...
        </dependencies>
    </deployment>
</jboss-deployment-structure>
<context-param>
    <param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>
    <param-value>mojarra-2.1.29</param-value>
</context-param>