Domanda

Ho dei quattro progetto diverso, e io sto usando Weblogic di distribuire i miei progetti. Ci sono diverse librerie (file JAR) che sono comuni per tutti i progetti. Attualmente ogni mio progetto stanno avendo lib di directory e hanno quasi lo stesso insieme di librerie. Ora, è possibile avere questa directory lib esterno file WAR e accedervi.

È stato utile?

Soluzione

Resistete alla tentazione di mettere i file jar nella cartella "condivisa" del vostro contenitore. E 'meglio tenere i file jar dove sono ora. Può sembrare una buona idea di utilizzare una cartella condivisa ora, ma in futuro potrebbe essere necessario distribuire un'applicazione che richiede una libreria condivisa, ma una versione diversa.

Detto questo, non ho alcuna esperienza con WebLogic. In Tomcat v'è una cartella condivisa con le librerie comuni per tutte le applicazioni distribuite. Non è una buona idea di utilizzare questo. Se WebLogic può essere configurato per utilizzare una cartella condivisa per un insieme di applicazioni (e non per tutte le applicazioni distribuite) si potrebbe andare per esso.

Altri suggerimenti

Vuoi fare questo? Se non siete a corto di spazio schieramento, vorrei (forse) consigliare contro di essa.

Perché? Al momento si dispone di 4 soluzioni che funzionano da queste librerie. Se si dispone di aggiornare una delle librerie (per esempio, se si scopre un bug, o se avete bisogno di una nuova funzione), allora si sta andando ad avere per testare la compatibilità e funzionalità per tutte e 4 le soluzioni. Se ogni soluzione ha il proprio insieme di librerie, poi sono in modalità sandbox e non c'è bisogno di spostare tutti e 4 nel passo.

Si noti che tutto questo dipende da come sia facile regressione prova le tue soluzioni. Si possono trovare facile, in questo caso utilizzando lo stesso set di librerie è fattibile.

Non farlo.

L'intera idea di file WAR è che sono unità autonome. Questo rende l'implementazione molto più facile.

In aggiunta ai possibili conflitti di versione che gli altri hanno fatto notare, mettendo i file jar in / condivise può avere conseguenze molto nidificate per la visibilità di classe. Saranno su un programma di caricamento classe separata, e non essere in grado di vedere le classi nel file WAR. Se si utilizzano le librerie che si basano su Class.forName () al lavoro (e ci sono molti), questo potrebbe diventare molto doloroso.

Se davvero, davvero non può permettersi lo spazio su disco e lo sguardo memoria aggiuntiva a OSGi o DM primavera. Hanno risolto questo problema, ma al prezzo di una maggiore complessità.

Mettere tutti i file jar condivisi in comune la cartella lib \ di weblogic. common \ lib è accessibile da tutte le applicazioni distribuite.

Prima di tutto si può mettere le vostre librerie tutti nello stesso posto e hanno il processo di generazione di importazione quelli necessari.

Ha per il distribuire la nuova Weblogic 10 ha una cartella lib in ogni dominio in cui si può mettere librerie condivise. io non credo che sia possibile prima Weblogic 10

È possibile inserire i barattoli nel proprio file orecchio e distribuirlo come una libreria condivisa.

Si può anche mettere le guerre in un orecchio e aggiungere i vasi condivisi per APP-INF / lib. Questa è un'estensione Weblogic di J2EE, in modo che non funziona su altri server.

Attualmente sto usando un altro approccio.

  1. Creare una cartella repository centrale e mettere tutte le librerie comuni in là.
  2. In ogni progetto è possibile creare un riferimento a tutte le librerie necessarie. In Subversion funziona con esterni

Ogni volta, la copia di lavoro locale viene aggiornato, gli esterni sono aggiornati a, in modo che solo bisogno di impegnarsi per la cartella centrale ed è distribuito automaticamente a tutti i progetti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top