persistence.xml non trovato sul descrittore di distribuzione GlassFish (IntelliJ)
-
27-09-2019 - |
Domanda
Ho un modulo WEB nel mio IntelliJ EJB e, creato 5 entità che mi auguro per caricare in un database utilizzando le annotazioni.
vado a impostazioni di progetto, sotto i moduli, e selezionare che voglio aggiungere APP aspetto, so che avere un EJB, WEB e JPA sfaccettatura. Io uso EclipseLink, così ho controllato che in Impostazioni JPA, poi ho aggiunto il mio file persistence.xml, configurato il file.
Il problema è che durante la distribuzione, è semplicemente non distribuire il file persistence.xml, il che significa che non riesco a trovare sotto il mio server GlassFish 3.0 quando si seleziona la mia domanda ai sensi descrittori di deployment. Ho solo trovare la mia sun-web-ejb.xml sotto il modulo EJB. persistence.xml non è sotto il modulo WEB sia, ma suppongo che dovrebbe essere sotto il modulo EJB comunque.
E 'inteso che il mio persistence.xml non deve essere caricato sul server in modo che io possa trovare il file XML in GF console di amministrazione (Applicazioni -> modulo EJB di mine -> descrittori di deployment)?
Se questo non è destinato, c'è qualcosa in particolare che devo fare in IntelliJ per rendere persistence.xml essere distribuito su server? Forse è qualcosa in particolare necessità ho a che fare con il mio JPA sfaccettatura?
Grazie per tutte le risposte su questo, posso naturalmente fornire informazioni più dettagliate circa la mia messa a punto, se necessario.
Soluzione
Ho solo trovato il mio sole-web-ejb.xml sotto il modulo EJB.
Questo è già strano. Se non sbaglio, questo è un descrittore di deployment proprietaria per il modulo Web.
persistence.xml non è sotto il modulo WEB sia, ma suppongo che dovrebbe essere sotto il modulo EJB comunque
Tutto dipende da come si pacchetto e distribuire le entità, che può essere fatto in diversi modi (vedi Cosa potrebbe essere necessario sapere sulla persistenza Unità Opzioni Packaging).
Se le entità sono confezionati in un EJB-JAR, il persistence.xml
deve essere collocato nella directory META-INF
.
Ma si poteva confezionare all'interno del modulo Web, questo sarebbe più semplice nel tuo caso. Vedi il link qui sopra.
E 'inteso che il mio persistence.xml non deve essere caricato sul server in modo che io possa trovare il file XML in GF console di amministrazione (Applicazioni -> modulo EJB di mine -> descrittori di deployment)?
Io suggerisco di verificare che il JAR fisico contiene il META-INF/persistence.xml
.
Se questo non è destinato, c'è qualcosa in particolare che devo fare in IntelliJ per rendere persistence.xml essere distribuito su server? Forse è qualcosa in particolare necessità ho a che fare con il mio JPA sfaccettatura?
non può dire. Forse il seguente link potrebbe aiutare: Abilitazione JPA Supporto