2010-07-30 15 views
6

Ich muss ca. 30M für meine App hochladen, da es viele Bibliotheken, Log, Web-Engine und so weiter verwendet.Wie kann ich eine gemeinsame Lib in Glassfish verwenden, um die Bereitstellung der riesigen Bibliotheken zu vermeiden?

Ich denke, es sollte eine Möglichkeit geben, diese Bibliotheken auf Glassfish zu teilen, aber ich konnte es nicht herausfinden. Ich habe versucht, sie in Domäne/lib/ext zu setzen, funktioniert aber nicht.

Also wo sollte ich diese Bibliotheken speichern und wie soll ich auf sie verweisen? Danke.

Antwort

6

Warum domaindir/lib/ext funktioniert nicht ?

von Glasfischen Handbuch:

Optionale Pakete sind Pakete von Java-Klassen und die zugehörigen nativen Code, dass die Anwendung Entwickler die Funktionalität der Kernplattform erweitern können. Um den Java-Paketmechanismus zu verwenden, kopieren Sie die JAR-Dateien in das Verzeichnis domain-dir/lib/ext , und starten Sie den Server neu.

Warum funktionieren domaindir/lib?

Common Class-Loader zu verwenden, die JAR-Dateien in das Domain-dir/lib oder as-install/lib Verzeichnis kopieren oder die .class-Dateien kopieren (und andere benötigte Dateien, wie .properties-Dateien) in das Verzeichnis domain-dir/lib/classes und starten Sie den Server neu. Mit dem Common Class Loader wird eine Anwendung oder ein Modul für alle Anwendungen zugänglich gemacht, die auf Servern mit derselben Konfiguration implementiert sind. Diese Zugriffsmöglichkeit erstreckt sich jedoch nicht auf Anwendungsclients.

0

Eine Option wäre, sie in domains/domain1/lib zu setzen. Aber eigentlich schlage ich vor, , einschließlich der comments zu lesen.

0

Wenn ich mich gut erinnere, können Sie auch zusätzliche Bibliotheken im Klassenpfad über die Admin-Konsole angeben (in Application Server> JVM-Einstellungen oder so ähnlich). Dann können Sie sie setzen, wo immer Sie wollen.

(Ich hatte einen kurzen Blick auf Pascals Link, aber ich weiß nicht, ob das, was sie beschreiben, wenn ja, meine Entschuldigung für die doppelte Antwort.)