[ miodragjovanovic @ 04.01.2008. 22:56 ] @
Session klasa ne moze da nadje entity klasu napisao sam najjednostavniji moguci ejb3.0 projekat. Ispisuje string u browseru tako sto jsp poziva metod iz session-a koji vraca obicniji String, i on radi. Zatim sam napravio jos jednu session klasu koja preuzima neke podatke iz baze tj iz entity-ja (JPA), ali njene metode ne pozivam ni u jednom JSP-u. Eclipse mi je sam generisao ear fajl i deploy-ovao sam ga na JBoss 4.2.2GA server. Medjutim sada vise ni onaj stari jsp nece da radi. U eclipse-u mi ne prijavljuje nikakvu gresku. Kada sam pokusao da debagujem na serveru izbacio mi je sledecu gresku: 22:26:10,046 ERROR [URLDeploymentScanner] Incomplete Deployment listing: --- MBeans waiting for other MBeans --- ObjectName: jboss.j2ee:service=EJB3,module=session.jar State: FAILED Reason: java.lang.NoClassDefFoundError: entity/Tri --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM --- ObjectName: jboss.j2ee:service=EJB3,module=session.jar State: FAILED Reason: java.lang.NoClassDefFoundError: entity/Tri session.jar(session projekat) i entity.jar(JPA projekat) se nalaze u ear-fajlu, zajedno sa web.war(dinamicki web projekat). session projektu sam preko Java Build Path/Projects uvezao entity projekat. Slicno sam uradio i za web projkat koristim java5ee, eclipse3.3, JBoss4.2.2GA AS Zaista ne znam u cemu je problem. Moguce da nesto fali u deployment descriptor-ima. Mozda neki red u persistence.xml. Ukoliko neko moze neka pomogne. evo koda programa APPLICATION.XML <?xml version="1.0" encoding="UTF-8"?> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" id="Application_ID" version="5"> <display-name>proba</display-name> <module> <ejb>session.jar</ejb> </module> <module> <web> <web-uri>web.war</web-uri> <context-root>proba</context-root> </web> </module> </application> JPA project (entity.jar) package entity; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Tri implements Serializable { @Id private String id; private String ime; private String mesto; private static final long serialVersionUID = 1L; public Tri() { super(); } .....get, set..... } PERSISTENCE.XML <?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="entity"> <class>entity.Tri</class> </persistence-unit> </persistence> Session project (session.jar) package session; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import entity.*; @Stateless public class IzBazeBean implements IzBaze { @PersistenceContext protected EntityManager em; public IzBazeBean(){} public Tri vrati(){ return (Tri) em.find(Tri.class, "10"); } } EJB-JAR.XML NEMAM ukoliko je jos potrebno mogu dodati jos koda: drugu session klasu, jsp,... Unapred zahvalan |