java.lang.ClassNotFoundException: com.HelloWorldBeanRemote
micum Jun 8, 2012 11:52 AMHola!
Estoy tratando de hacer un HelloWorld con ejb 3. version de jboss 7.1
tengo el ejb de la siguiente manera:
el nombre del proyecto es HolaMundoEjb
//---------------------------------------------------------
package com;
import javax.ejb.Remote;
@Remote
public interface HelloWorldBeanRemote {
public String getHelloWorld();
}
//-------------------------------------------------------
package com;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
@Stateless
@LocalBean
public class HelloWorldBean implements HelloWorldBeanRemote {
public String getHelloWorld(){
return "Hola EJB 3.0";
}
}
Cuando implemento el ejb, en la consola del servidor me da la siguiente información:
10:50:07,673 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-1) JNDI bindings for session bean named HelloWorldBean in deployment unit deployment "HolaMundoEjb.jar" are as follows:
java:global/HolaMundoEjb/HelloWorldBean!com.HelloWorldBean
java:app/HolaMundoEjb/HelloWorldBean!com.HelloWorldBean
java:module/HelloWorldBean!com.HelloWorldBean
java:global/HolaMundoEjb/HelloWorldBean!com.HelloWorldBeanRemote
java:app/HolaMundoEjb/HelloWorldBean!com.HelloWorldBeanRemote
java:module/HelloWorldBean!com.HelloWorldBeanRemote
java:jboss/exported/HolaMundoEjb/HelloWorldBean!com.HelloWorldBeanRemote
En mi cliente tengo un servlet que tiene el siguiente codigo para acceder al ejb:
37| HelloWorldBeanRemote hello = null ;
43| try{
44| Context initial = new InitialContext();
45| hello = (HelloWorldBeanRemote)initial.lookup("ejb:HolaMundoEjb/HelloWorldBean!com.HelloWorldBeanRemote");
47| }catch(Exception NamingException){
48| NamingException.printStackTrace();
49| }
53| String var = hello.getHelloWorld() ;
Cuando ejecuto el servlet obtengo el siguiente error :
javax.servlet.ServletException: La ejecución del Servlet lanzó una excepción
causa raíz
java.lang.NoClassDefFoundError: com/HelloWorldBeanRemote
Saludo.HelloWorld.doGet(HelloWorld.java:45)
javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
causa raíz
java.lang.ClassNotFoundException: com.HelloWorldBeanRemote from [Module "deployment.WebPrueba.war:main" from Service Module Loader]
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
Saludo.HelloWorld.doGet(HelloWorld.java:45)
javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
No se si me estoy equivocando con el jndi en el lookup. No se cual debo tomar.