2009-09-01 13 views
12

Ich habe eine alte J2EE-Anwendung (J2EE 1.3), die in eine EAR verpackt, und in der EAR gibt es WARs und EJB JARs. Nun muss eines der EJB-JARs auf einige JARs von Drittanbieter-Bibliotheken verweisen. Was ist also der beste Ort, um diese JARs zu paketieren und wie?Wie packen Sie JARs von Drittanbietern in ein EJB-JAR?

+2

Ausgezeichnete Frage. Warum ist die Bereitstellung/Struktur von EJB/EAR-Verpackungen so viel schwieriger als WAR ??? Dies sollte ein automatischer, recht typischer Anwendungsfall sein. – Roboprog

Antwort

18

Sie gehen in die Ear-Datei, an der Wurzel oder Sie können ein Verzeichnis lib erstellen, um sie zu speichern. Jedes Projekt (EJB oder IST), die sie verweisen muss müssen sie in dem Class-Path enthalten: der Manifest-Datei.

Ear Inhalt

- log4j.jar 
    - lib 
    - commons-lang.jar 
    - MyEJBProj.jar 
    - MyWAR.war 

MyEJBProj Inhalt

- classes 
- META-INF 
    - MANIFEST.MF 

MANIFEST.MF

Manifest-Version: 1.0 
    Class-Path: log4j.jar lib/commons-lang.jar 
+1

Der offizielle Dateiname ist MANIFEST.MF, und die Formatierung dieser Datei kann ziemlich wählerisch sein. Sie benötigen den gesamten Inhalt in derselben Zeile (oder verwenden Sie ein einzelnes Leerzeichen als Präfix in den folgenden Zeilen für die Fortsetzung), und Sie müssen Pfade mit "," begrenzen. Mit anderen Worten: Class-Path: log4j.jar, lib/commons-lang.jar –

+0

Correct auf dem Namen (herausgegeben, das zu reflektieren), sollte alle Kappen, aber der Classpath kann einfach durch Leerzeichen getrennt werden, auch auf die gleiche Linie. Stellen Sie sicher, dass hinter dem letzten Eintrag kein Leerzeichen steht, da dies eine Fortsetzung anzeigt. Eclipse zum Beispiel schreibt/zeigt den Klassenpfad mit einem Jar pro Zeile und einem Leerzeichen am Ende jeder Zeile an, wenn ein weiterer folgt. – Robin

+0

Vergessen Sie nicht, zwei Zeilenumbrüche am Ende der MANIFEST.MF einzufügen. Ich erinnere mich an einen alten Fehler, dies nötig war, denn sonst über einen Teil des Inhalts würde ignoriert werden ... –

Verwandte Themen