Jakarta ee OAuth2.0和Resteasy:ClassNotFoundException当战争在EAR中时

Jakarta ee OAuth2.0和Resteasy:ClassNotFoundException当战争在EAR中时,jakarta-ee,jboss,oauth-2.0,resteasy,Jakarta Ee,Jboss,Oauth 2.0,Resteasy,我正在使用Jboss 7.1.1和Resteasy 3.0-beta-3安装OAuth 2.0服务器。 我遵循官方的做法,最终成功地构建了一个简单的应用程序,该应用程序使用DatabaseServerLoginModule对用户进行身份验证 当我把战争放在耳朵里时,问题就出现了。重新部署应用程序时,我看到以下错误: 13:32:58,336 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed t

我正在使用Jboss 7.1.1和Resteasy 3.0-beta-3安装OAuth 2.0服务器。 我遵循官方的做法,最终成功地构建了一个简单的应用程序,该应用程序使用
DatabaseServerLoginModule
对用户进行身份验证

当我把战争放在耳朵里时,问题就出现了。重新部署应用程序时,我看到以下错误:

13:32:58,336 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.deployment.subunit."JauBM-EAR.ear"."JauBM-WEB.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."JauBM-EAR.ear"."JauBM-WEB.war".INSTALL: Failed to process phase INSTALL of subdeployment "JauBM-WEB.war" of deployment "JauBM-EAR.ear"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_03]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_03]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_03]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018096: Error instantiating container component: org.jboss.resteasy.skeleton.key.as7.OAuthAuthenticationServerValve
    at org.jboss.as.web.deployment.WarDeploymentProcessor.getInstance(WarDeploymentProcessor.java:386)
    at org.jboss.as.web.deployment.WarDeploymentProcessor.processDeployment(WarDeploymentProcessor.java:210)
    at org.jboss.as.web.deployment.WarDeploymentProcessor.deploy(WarDeploymentProcessor.java:114)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more
Caused by: java.lang.ClassNotFoundException: org.jboss.resteasy.skeleton.key.as7.OAuthAuthenticationServerValve from [Module "deployment.JauBM-EAR.ear.JauBM-WEB.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
    at org.jboss.as.web.deployment.WarDeploymentProcessor.getInstance(WarDeploymentProcessor.java:378)
    ... 8 more

我错过了什么吗?

我知道问题出在哪里,所以我决定回答这个问题,以防有人有同样的问题。 解决方案是移动EAR文件中的文件
jboss deployment structure.xml
,并根据以下内容进行更改:

JauBM-Oauth/WebContent/WEB-INF/jboss-deployment-structure.xml
(已删除)


我明白了问题所在,所以我决定回答这个问题,以防有人有同样的问题。 解决方案是移动EAR文件中的文件
jboss deployment structure.xml
,并根据以下内容进行更改:

JauBM-Oauth/WebContent/WEB-INF/jboss-deployment-structure.xml
(已删除)

<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="org.jboss.resteasy.resteasy-jaxrs" services="import"/>
            <module name="org.jboss.resteasy.resteasy-jackson-provider" services="import"/>
            <module name="org.jboss.resteasy.skeleton-key"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <sub-deployment name="JauBM-Oauth.war">
        <dependencies>
            <module name="org.jboss.resteasy.resteasy-jaxrs" services="import"
                export="true" />
            <module name="org.jboss.resteasy.resteasy-jackson-provider"
                services="import" export="true" />
            <module name="org.jboss.resteasy.skeleton-key" export="true" />
        </dependencies>
    </sub-deployment>
</jboss-deployment-structure>