2010-06-17 4 views
8

Es gibt eine Reihe von verschiedenen Lib-Verzeichnissen, die JBoss (5.1.0) verwendet: Ich kann jboss/lib, jboss/lib/indossiert, jboss/common/lib, jboss/server/default/lib finden und natürlich der jboss/server/default/deploy/myapp/WEB-INF/lib (fehle ich etwas?).Verschiedene Lib-Verzeichnisse von JBoss

Aus dem oben genannten, weiß ich, dass ich die letzte (WEB-INF/lib) verwenden muss, um alle Gläser, die meine App benötigt, zu setzen. Was ist mit all den anderen? Was ist ihr Nutzen und was soll ich dort hinstellen? Warum dort und nicht in der WEB-INF/lib?

Danke!

Antwort

17

Andere Ordner sind für verschiedene Arten von gemeinsam genutzten Bibliotheken. Wenn Sie beispielsweise 10 Apps verwenden, die den gleichen DB-Treiber verwenden, gibt es keinen Grund, einen Db-Treiber-JAR pro Anwendung (d. H. 10 JAR) zu behalten. In diesem Fall können Sie es einfach in jboss/server/<server config>/lib setzen.

  • jboss/server/<server config>/lib: geteilt zwischen allen Server configs
  • jboss/lib: alle hier Libs zwischen allen Anwendungen in bestimmten Serverkonfiguration
  • jboss/common/lib geteilt werden diese Libs für Server selbst (wenn ich nicht zu verkennen, sie sind auch auf Ihrem app classpath)
  • jboss/lib/endorsed: das ist das gleiche wie oben, nur wenn Sie eine lib hier, wird es immer vor ähnlichen lib in jboss/lib gefunden werden. Die Idee ist ähnlich zu Endorsed Standards Override Mechanism von JDK