1. 程式人生 > >Linux環境下Weblogic部署應用的一些問題

Linux環境下Weblogic部署應用的一些問題

最近在Linux下Weblogic中部署應用,碰到一些問題,糾結了好久,也查了好多資料,最後總算是成功解決了碰到的各種問題。

這裡記錄下遇到的一些問題和解決方法,整體做個總結。

問題一:org.hibernate.HibernateException: Errors innamed queries:

 findTasks,findMessages,findTimers,findGroupsByUserAndGroupType, findProcessInstanceIds...

問題出現的原因是antlr-2.7.6.jar。解決方法:

新增antlr-2.7.6.jar到bea\wlserver_10.3\server\lib目錄下

修改startWeblogic.sh,在CLASSPATH前後新增為:

set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.6.jar;
set CLASSPATH=%SAVE_CLASSPATH%
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%

如果是Linux環境,則修改startWeblogic.,在CLASSPATH前後新增為:

PRE_CLASSPATH="${WL_HOME}/server/lib/antlr-2.7.6.jar"
CLASSPATH="${SAVE_CLASSPATH}"
CLASSPATH="${PRE_CLASSPATH}:${CLASSPATH}"


問題二:<Unable to set the activation state to true for theapplication "tpfsr".

weblogic.application.ModuleException:java.lang.NoSuchMethodError:org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.<init>(Lorg/hibernate/validator/resourceloading/ResourceBundleLocator;)V

出現類似問題的原因,是沒有設定優先載入web應用內的jar包。解決方法:

在Weblogic.xml中新增配置

<container-descriptor>
	<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

問題三:weblogic在不解壓war的情況下不能獲取應用路徑

因為Weblogic不對war包自動解壓。解決方法:

在Weblogic.xml中新增配置

<container-descriptor>
        <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>

看來對Weblogic的部署描述符不是很清楚,附個連結,多看多學習吧。