2013-05-21 4 views
7

Ho creato una libreria condivisa con alcuni file jar nel server weblogic, ora ho un'applicazione EAR e voglio usare i file di classe dalla libreria condivisa nelle mie applicazioni web presenti in Applicazione EAR. Così ho creato weblogic-application.xml file all'interno di mio indice ear-app/META-INF/ e ha dato riferimento alla libreria condivisa utilizzando tag di seguito:Libreria Java EE condivisa di riferimento per l'applicazione EAR in weblogic

<library-ref> 
    <library-name>ebs_endeca_artifacts</library-name> 
</library-ref> 

Ma quando sto cercando di accedere ai file di classe nella mia domanda, io sono sempre un'eccezione java.lang.ClassNotFoundException

Inoltre, mi viene richiesto di fare riferimento alla libreria condivisa a livello dell'orecchio invece di dichiarare nel file weblogic.xml di singoli file di guerra.

Se inserisco direttamente gli stessi file jar nella mia directory ear-app/APP-INF/lib invece di utilizzare la libreria condivisa, la mia applicazione funziona correttamente senza problemi.

Please help me come posso utilizzare la libreria condivisa nella mia applicazione orecchio. Sto usando weblogic server 10.3.6

La mia struttura libreria condivisa sarà simile a questo:

shared-web-app/WEB-INF/web.xml 
shared-web-app/WEB-INF/lib/*.jar 

risposta

4

È necessario i barattoli dalla libreria condivisa nel classpath, perché prima di distribuire il EAR, deve essere costruita l'applicazione. JDeveloper non saprebbe dove sono memorizzate quelle classi, quindi è necessario quelle a compile-time.

Durante la preparazione dell'applicazione per la distribuzione, è possibile creare filtri per i file che possono essere aggiunti all'interno dello WAR/EAR/<whatever>. Vai a Application Properties ->Deployment e seleziona il tuo profilo di implementazione. Fare clic sul pulsante Edit e verrà visualizzata una schermata da cui è possibile filtrare i file/le librerie che è possibile includere quando viene creata l'applicazione.

Se non si include la libreria condivisa nell'archivio e si dispone del frammento dallo weblogic-application.xml inviato, il server WebLogic utilizzerà quindi le classi dalla libreria condivisa.

Spero che questo aiuti. Chiedi tutto ciò che non capisci come commento. :)

+0

Grazie kocko, l'EAR e la libreria condivisa sono entrambi distribuiti in weblogic con successo. Ma sto affrontando un problema quando provo ad accedere a qualsiasi applicazione web dal browser che fanno parte del mio EAR. Inoltre ho aggiornato il mio post con i dettagli sulla libreria condivisa. – chaitanya

+0

Quindi, come ho capito, la tua libreria condivisa è un'applicazione web, non un barattolo? –

+0

sì kocko, è impacchettato come applicazione web. – chaitanya