2014-11-01 25 views
1

我用Wildfly 8 SDK 1.7,和IntelliJ IDE,并设法使基本的EJB服务器。Wildfly 8个主机EJB 3.x的应用问题

我做这包含两个子模块项目:界面和服务器。

接口:

package testing; 
... 
@Remote 
public interface Test { 
public void sayHi(); 
} 

服务器:

package srv; 
... 
import testing.Test; 

@Stateless 
public class TestBean implements Test { 

    @Override 
    public void sayHi() 
    { 
     System.out.println("Hi"); 
    } 
} 

的依赖是javax.ejb.jar两个模块和jboss-client +我interface服务器之一。一切都很好。

所以,我试图server:ejb神器部署到Wildfly,但它是不成功的:

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."server_ejb.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."server_ejb.jar".POST_MODULE: JBAS018733: Failed to process phase POST_MODULE of deployment "server_ejb.jar" 
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.1.0.Final.jar:8.1.0.Final] 
... 
Caused by: java.lang.LinkageError: Failed to link srv/TestBean (Module "deployment.server_ejb.jar:main" from Service Module Loader) 
... 
Caused by: java.lang.NoClassDefFoundError: testing/Test 
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_67] 
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) [rt.jar:1.7.0_67] 
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361) [jboss-modules.jar:1.3.3.Final] 
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482) [jboss-modules.jar:1.3.3.Final] 
... 19 more 

的哪些错误?

回答

1

的EJB JAR包含一个或多个的EJB,包括它们的接口定义,正在使用的EJB的任何相关的Java类,并说明这些EJB部署描述符。

鉴于此异常:

Caused by: java.lang.NoClassDefFoundError: testing/Test 

server_ejb.jar不包括测试界面,您必须在您的部署。

我希望这个帮助。