Java RMIO和NoClassDefFoundError

Java RMIO和NoClassDefFoundError,java,rmi,ejb-3.1,wildfly-8,rmiio,Java,Rmi,Ejb 3.1,Wildfly 8,Rmiio,我试图将一个文件从客户端JSE上传到服务器应用程序JavaEE、EJB、Wildfly。我尝试使用中的第一个示例,但当我尝试在Wildfly服务器上运行服务器应用程序时,我遇到以下错误: 19:08:30077错误[org.jboss.msc.service.fail]MSC服务线程1-1 MSC000001:无法启动服务jboss.deployment.unit.ProjectEngineerServer.jar.POST_模块:org.jboss.MSC.service.StartExcep

我试图将一个文件从客户端JSE上传到服务器应用程序JavaEE、EJB、Wildfly。我尝试使用中的第一个示例,但当我尝试在Wildfly服务器上运行服务器应用程序时,我遇到以下错误:

19:08:30077错误[org.jboss.msc.service.fail]MSC服务线程1-1 MSC000001:无法启动服务jboss.deployment.unit.ProjectEngineerServer.jar.POST_模块:org.jboss.MSC.service.StartException在服务jboss.deployment.unit.ProjectEngineerServer.jar.POST_模块:JBAS018733:无法处理部署ProjectEngineerServer.jar的阶段POST_模块 位于org.jboss.as.server.deployment.DeploymentUnitPhaseService.startDeploymentUnitPhaseService.java:166[wildfly-server-8.2.0.Final.jar:8.2.0.Final] org.jboss.msc.service.ServiceControllerImpl$StartTask.startServiceControllerImpl.java:1948[jboss-msc-1.2.2.Final.jar:1.2.2.Final] 在org.jboss.msc.service.ServiceControllerImpl$StartTask.runServiceControllerImpl.java:1881[jboss-msc-1.2.2.Final.jar:1.2.2.Final] 位于java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1142[rt.jar:1.8.020] 位于java.util.concurrent.ThreadPoolExecutor$Worker.runThreadPoolExecutor.java:617[rt.jar:1.8.020] java:745[rt.jar:1.8.0_20] 原因:java.lang.RuntimeException:JBAS018757:使用ClassLoader ModuleClassLoader为模块部署获取类com.system.main.HandlingBean的反射信息时出错。ProjectEngineerServer.jar:main来自服务模块加载器 位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndexDeploymentReflectionIndex.java:72[wildfly-server-8.2.0.Final.jar:8.2.0.Final] 位于org.jboss.as.ee.metadata.MethodAnnotationAggregator.RuntimeAnnotationInformation MethodAnnotationAggregator.java:58 位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotationsInterceptorAnnotationProcessor.java:107 位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfigInterceptorAnnotationProcessor.java:92 位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deployInterceptorAnnotationProcessor.java:77 在org.jboss.as.server.deployment.DeploymentUnitPhaseService.startDeploymentUnitPhaseService.java:159[wildfly-server-8.2.0.Final.jar:8.2.0.Final] ... 还有5个 原因:java.lang.NoClassDefFoundError:com/healthmarketscience/rmio/RemoteInputStream 在java.lang.Class.getDeclaredMethods0Native方法[rt.jar:1.8.0_20] java:2688[rt.jar:1.8.020] java:1962[rt.jar:1.8.0_20] 位于org.jboss.as.server.deployment.reflect.ClassReflectionIndex.ClassReflectionIndex.java:65[wildfly-server-8.2.0.Final.jar:8.2.0.Final] 位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndexDeploymentReflectionIndex.java:68[wildfly-server-8.2.0.Final.jar:8.2.0.Final] ... 10多 原因:java.lang.ClassNotFoundException:com.healthmarketscience.rmio.RemoteInputStream来自[Module deployment.ProjectEngineerServer.jar:main来自服务模块加载器] 位于org.jboss.modules.ModuleClassLoader.findClassModuleClassLoader.java:213[jboss modules.jar:1.3.3.Final] 位于org.jboss.modules.ConcurrentClassLoader.performLoadClassUncheckedConcurrentClassLoader.java:459[jboss modules.jar:1.3.3.Final] 位于org.jboss.modules.ConcurrentClassLoader.performLoadClassCheckedConcurrentClassLoader.java:408[jboss modules.jar:1.3.3.Final] 位于org.jboss.modules.ConcurrentClassLoader.performLoadClassConcurrentClassLoader.java:389[jboss modules.jar:1.3.3.Final] 位于org.jboss.modules.ConcurrentClassLoader.loadClassConcurrentClassLoader.java:134[jboss modules.jar:1.3.3.Final] ... 还有15个 19:08:31657错误[org.jboss.as.controller.management operation]DeploymentScanner线程-2 JBAS014613:操作完全替换部署失败-地址:[]-故障描述:{JBAS014671:失败的服务=>{jboss.deployment.unit.\ProjectEngineerServer.jar\.POST_模块=>org.jboss.msc.service.StartException in service jboss.deployment.unit.\ProjectEngineerServer.jar\.POST_模块:JBAS018733:无法处理部署\ProjectEngineerServer.jar的阶段POST_模块\ 原因:java.lang.RuntimeException:JBAS018757:使用ClassLoader ModuleClassLoader从服务模块加载器获取com.system.main.HandlingBean类的反射信息时出错,该类包含模块\deployment.ProjectEngineerServer.jar:main\ 原因:java.lang.NoClassDefFoundError:com/healthmarketscience/rmio/RemoteInputStream 原因:java.lang.ClassNotFoundException:com.healthmarketscience.rmio.RemoteInputStream from[Module\deployment.ProjectEngineerServer.jar:main\from Service Module Loader]}

我不明白为什么这个班不能 可以在com/healthmarketscience/rmio/RemoteInputStream中找到。我使用Maven,并将其添加到pom.xml中:

com.healthmarketscience.rmio 米奥 2.0.5 所以我的项目中有RMIO库


我怎样才能解决这个问题?

我解决了这个问题。我一步一步地做了:

我在Wildfly\u HOME下创建了以下路径:Wildfly\u HOME\modules\system\layers\base\com\healthmarketscience\main for rmio库。 我在主目录中添加了一个rmio-2.0.5.jar文件和一个module.xml文件。以下是module.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<module xmlns="urn:jboss:module:1.3" name="com.healthmarketscience">
  <resources>
    <resource-root path="rmiio-2.0.5.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>
<?xml version="1.0" encoding="UTF-8"?>

<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="com.healthmarketscience" slot="main" export="true"/>
        </dependencies>        
    </deployment>
</jboss-deployment-structure>