J'ai un problème lorsque je tente de renvoyer un objet défini dans un fichier .jar externe à partir d'un service Web Java EE 6."JAXBException: class org.example.entity.Foo ni aucune de ses super classes n'est connu dans ce contexte." lorsque l'objet est dans le fichier .jar
Le service Web se présente comme suit:
@Stateless
@Path("book")
@Produces({"application/json", "application/xml"})
@Consumes({"application/json", "application/xml"})
public class NewWebService {
@PersistenceContext(unitName = "EnterpriseApplication3-warPU")
private EntityManager em;
@GET
public List<Foo> getBookTitle() {
Query query = em.createNamedQuery("Foo.findAll");
List<Foo> foo = query.getResultList();
return foo;
}
}
Quand je définit la classe « Foo » dans le même fichier .jar comme tout service Web fonctionne très bien. Cependant, je voudrais définir "Foo" dans un .jar de lui-même, comme "Foo" est aussi un bean JPA, et comme différents composants de l'application (empaquetés comme .ear) doivent pouvoir accéder à "Foo" ".
Lors de la définition « Foo » dans un autre fichier .jar (qui est dans le même colis .ear) Glassfish renvoie le message d'erreur suivant:
javax.ws.rs.WebApplicationException: javax.xml.bind.JAXBException: class org.example.entity.Foo nor any of its super class is known to this context.
Tous les conseils sur la façon dont je peux contourner cette erreur? "Foo" est un bean JPA standard avec l'annotation "@XmlRootElement".
duplication possible de [Partage d'une unité de persistance entre composants dans un fichier .ear] (http://stackoverflow.com/questions/4073635/sharing-a-persistence-unit-across-components-in-a-ear- fichier) –