weblogic中優先載入應用中的jar包 prefer-application-packages
阿新 • • 發佈:2019-01-27
其他幫助連線:http://shuwen.iteye.com/blog/1124220
僅針對10.3及以上版本。
在WEB-INF下面新增weblogic.xml檔案。
01 |
<? xml version = "1.0" encoding = "UTF-8" ?> |
02 |
< weblogic-web-app |
03 |
xmlns = "http://xmlns.oracle.com/weblogic/weblogic-web-app" |
04 |
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" |
05 |
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee |
06 |
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd |
07 |
http://xmlns.oracle.com/weblogic/weblogic-web-app |
08 |
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"> |
09 |
< jsp-descriptor > |
10 |
< working-dir >app_workingDir</ working-dir > |
11 |
</ jsp-descriptor > |
12 |
< container-descriptor > |
13 |
<!--<prefer-web-inf-classes>true</prefer-web-inf-classes>--> |
14 |
< prefer-application-packages > |
15 |
< package-name >org.apache.commons.lang.*</ package-name > |
16 |
< package-name >antlr.*</ package-name > |
17 |
< package-name >org.hibernate.*</ package-name > |
18 |
< package-name >javax.persistence.*</ package-name > |
19 |
</ prefer-application-packages > |
20 |
</ container-descriptor > |
21 |
< context-root >/app</ context-root > |
22 |
</ weblogic-web-app > |
使用此方法對hibernate jpa2.0載入時可不用修改weblogic啟動指令碼的CLASSPATH。
注意xml檔案的xsd檔案宣告必須正確。
我用此方法解決了在weblogic10.3.6和hibernate3.6.10的jpa jar包衝突。
Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.EnumConstantNotPresentExceptionProxy
如只設定prefer-web-inf-classes為true 也不能解決以上問題。