將 Nexus 發佈到 Weblogic 上,啓動 Nexus 時會報錯,仔細看了下錯誤:web
提示 ImmutableSet 沒有 copyOf(Collection ) 方法。app
看了一下異常,又找了一下,緣由爲 nexus 中帶有的 guava.jar 和 weblogic 自身帶有的 guava.jar 衝突。google
查看了下 weblogic 的文檔,weblogic 支持定義類加載的優先級,這就能夠解決了。
修改方法爲: 修改 weblogic.xml ,添加code
<?xml version=」1.0″?> <weblogic-web-app xmlns=」http://www.bea.com/ns/weblogic/90″ xmlns:xsi=」http://www.w3.org/2001/XMLSchema-instance」> <context-root>/nexus</context-root> <container-descriptor> <!– <prefer-web-inf-classes>true</prefer-web-inf-classes> –> <prefer-application-packages> <package-name>org.xmlpull</package-name> <package-name>com.google</package-name> <package-name>org.slf4j</package-name> <!– <package-name>net</package-name> –> </prefer-application-packages> <prefer-application-resources> <resource-name>org.xmlpull</resource-name> <resource-name>com.google</resource-name> <resource-name>org.slf4j</resource-name> <resource-name>META-INF/services/org.xmlpull</resource-name> <resource-name>META-INF/services/org.slf4j</resource-name> <!– <resource-name>META-INF/services/com</resource-name> <resource-name>META-INF/services/net</resource-name> –> </prefer-application-resources> </container-descriptor> </weblogic-web-app>
將這個 weblogic.xml 添加到 nexus 的 WEB-INF 目錄下, 從新發布,啓動, OK.
xml