Jakarta ee 在wildfly-9.0.2.Final中部署第三方jar

Jakarta ee 在wildfly-9.0.2.Final中部署第三方jar,jakarta-ee,wildfly-9,Jakarta Ee,Wildfly 9,为了对多个应用程序可见外部JAR,我通常将外部JAR放在JBOSS 5.x中的$JBOSS_HOME/server/default/lib directoy中。 在wildfly-9.0.2.决赛中我将如何做到这一点 @山姆谢谢你的回复 但我仍然得到错误,请看我的情况如下 结构 test.ear中存在名为test.jar的jar归档文件 在test.jar中有一个EJB3会话bean java类。在这个类中有import stmt as 导入com.oracle.asmc.ejb3.statel

为了对多个应用程序可见外部JAR,我通常将外部JAR放在JBOSS 5.x中的$JBOSS_HOME/server/default/lib directoy中。 在wildfly-9.0.2.决赛中我将如何做到这一点

@山姆谢谢你的回复 但我仍然得到错误,请看我的情况如下 结构

  • test.ear中存在名为test.jar的jar归档文件
  • 在test.jar中有一个EJB3会话bean java类。在这个类中有import stmt as

    导入com.oracle.asmc.ejb3.statelesssession.SLE3DecryptLocal

  • testclient.jar中存在上述包“com.oracle.asmc.ejb3.statelesssession.SLE3DecryptLocal”
  • 注意-上面的testclient.jar不是test.ear的一部分。(我想从多个ear访问这个testclient.jar)

    为了部署test.ear,我完成了以下步骤

  • ./jboss-cli.sh-c(存在于bin目录中)
  • 模块add--name=testclient--resources=~/client\u jar/testclient.jar
  • 我在jboss-deployment-structure.xml中添加了以下配置,并在创建test.ear时将其放在META-INF目录中

    <?xml version="1.0"?>       
       <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
      <deployment>
      <dependencies>
           <module name="testclient" />
      </dependencies>
    </deployment>
    </jboss-deployment-structure>
    
    
    
  • 对于部署Test.ear应用程序,已访问“”和已传输的链接部署-->添加-->添加部署-->完成 但仍然有以下错误

    12:19:22,439 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027: Starting deployment of "test.ear" (runtime-name: "test.ear")
    12:19:22,602 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0207: Starting subdeployment (runtime-name: "test.jar")
    12:19:22,608 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0207: Starting subdeployment (runtime-name: "test.war")
    12:19:23,524 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0003: Processing weld deployment test.ear
    12:19:23,631 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-2) HV000001: Hibernate Validator 5.1.3.Final
    12:19:23,842 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.subunit."test.ear"."test.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."test.ear"."test.jar".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of subdeployment "test.jar" of deployment "test.ear"
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
     Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class com.oracle.test.SlsTestBean with ClassLoader ModuleClassLoader for Module "deployment.test.ear.test.jar:main" from Service Module Loader
     at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
     at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57)
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:107)
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:92)
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77)
     at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
    ... 5 more
      Caused by: java.lang.NoClassDefFoundError: com/oracle/asmc/ejb3/statelesssession/SLE3DecryptLocal
     at java.lang.Class.getDeclaredMethods0(Native Method)
     at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
     at java.lang.Class.getDeclaredMethods(Class.java:1975)
     at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:65)
     at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)
      ... 10 more
      Caused by: java.lang.ClassNotFoundException: com/oracle/asmc/ejb3/statelesssession/SLE3DecryptLocal from [Module "deployment.test.ear.test.jar:main" from Service Module Loader]
     at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
     at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
     at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
     ... 15 more
    
    Caused by: java.lang.NoClassDefFoundError: com.oracle.asmc.ejb3.statelesssession.SLE3DecryptLocal
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:65)
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)
    ... 10 more
     Caused by: java.lang.ClassNotFoundException: com.oracle.asmc.ejb3.statelesssession.SLE3DecryptLocal from [Module "deployment.test.ear.test.jar:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
    ... 15 more
    
    12:19:22439信息[org.jboss.as.server.deployment](MSC服务线程1-4)WFLYSRV0027:开始部署“test.ear”(运行时名称:“test.ear”)
    12:19:22602信息[org.jboss.as.server.deployment](MSC服务线程1-3)WFLYSRV0207:启动子部署(运行时名称:“test.jar”)
    12:19:22608信息[org.jboss.as.server.deployment](MSC服务线程1-1)WFLYSRV0207:正在启动子部署(运行时名称:“test.war”)
    12:19:23524信息[org.jboss.weld.deployer](MSC服务线程1-2)WFLYWELD0003:处理焊接部署测试.ear
    12:19:23631信息[org.hibernate.validator.internal.util.Version](MSC服务线程1-2)HV000001:hibernate validator 5.1.3.Final
    12:19:23842错误[org.jboss.msc.service.fail](msc服务线程1-3)MSC000001:无法启动服务jboss.deployment.subunit。“test.ear”“test.jar”“POST_模块:org.jboss.msc.service.StartException in service jboss.deployment.subunit”“test.jar”“POST_模块:WFLYSRV0153:无法处理子部署的阶段POST_模块部署“test.ear”的“test.jar”
    位于org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
    位于org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    位于org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    运行(Thread.java:745)
    原因:java.lang.RuntimeException:WFLYSRV0177:从服务模块加载器获取类com.oracle.test.SlsTestBean的反射信息时出错,该类的类加载器ModuleClassLoader用于模块“deployment.test.ear.test.jar:main”
    位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
    位于org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57)
    位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:107)
    位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:92)
    位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77)
    位于org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
    …还有5个
    原因:java.lang.NoClassDefFoundError:com/oracle/asmc/ejb3/statelesssession/SLE3DecryptLocal
    位于java.lang.Class.getDeclaredMethods0(本机方法)
    位于java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    位于java.lang.Class.getDeclaredMethods(Class.java:1975)
    位于org.jboss.as.server.deployment.reflect.ClassReflectionIndex。(ClassReflectionIndex.java:65)
    位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)
    …还有10个
    原因:java.lang.ClassNotFoundException:com/oracle/asmc/ejb3/statelesssession/SLE3DecryptLocal来自[Module”deployment.test.ear.test.jar:main“来自服务模块加载器]
    位于org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
    位于org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
    位于org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
    位于org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
    位于org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
    …还有15个
    
  • @山姆谢谢你的回复

    我在test.jar的META-INF中添加了“jboss deployment structure.xml”

    注意-是的,我正在从test.jar访问“com/oracle/asmc/ejb3/statelesssession/SLE3DecryptLocal”(存在于testclient.jar模块中)

    现在我的test.ear包含

  • META-INF/application.xml

  • 测试战争

  • jar('jboss-deployment-structure.xml'出现在此test.jar的META-INF目录中)

  • 但我仍然得到以下错误

    12:19:22,439 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027: Starting deployment of "test.ear" (runtime-name: "test.ear")
    12:19:22,602 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0207: Starting subdeployment (runtime-name: "test.jar")
    12:19:22,608 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0207: Starting subdeployment (runtime-name: "test.war")
    12:19:23,524 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0003: Processing weld deployment test.ear
    12:19:23,631 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-2) HV000001: Hibernate Validator 5.1.3.Final
    12:19:23,842 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.subunit."test.ear"."test.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."test.ear"."test.jar".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of subdeployment "test.jar" of deployment "test.ear"
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
     Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class com.oracle.test.SlsTestBean with ClassLoader ModuleClassLoader for Module "deployment.test.ear.test.jar:main" from Service Module Loader
     at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
     at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57)
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:107)
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:92)
     at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77)
     at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
    ... 5 more
      Caused by: java.lang.NoClassDefFoundError: com/oracle/asmc/ejb3/statelesssession/SLE3DecryptLocal
     at java.lang.Class.getDeclaredMethods0(Native Method)
     at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
     at java.lang.Class.getDeclaredMethods(Class.java:1975)
     at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:65)
     at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)
      ... 10 more
      Caused by: java.lang.ClassNotFoundException: com/oracle/asmc/ejb3/statelesssession/SLE3DecryptLocal from [Module "deployment.test.ear.test.jar:main" from Service Module Loader]
     at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
     at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
     at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
     ... 15 more
    
    Caused by: java.lang.NoClassDefFoundError: com.oracle.asmc.ejb3.statelesssession.SLE3DecryptLocal
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:65)
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)
    ... 10 more
     Caused by: java.lang.ClassNotFoundException: com.oracle.asmc.ejb3.statelesssession.SLE3DecryptLocal from [Module "deployment.test.ear.test.jar:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
    ... 15 more
    
    原因:java.lang.NoClassDefFoundError:com.oracle.asmc.ejb3.statelesssession.SLE3DecryptLocal
    位于java.lang.Class.getDeclaredMethods0(本机方法)
    位于java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    位于java.lang.Class.getDeclaredMethods(Class.java:1975)
    位于org.jboss.as.server.deployment.reflect.ClassReflectionIndex.(ClassReflectionInde