weblogic连接DB2数据源成功,但是应用部署好发布的时候,就提示发布失败。请教各位大侠。下面是部分报错日志。
<Apr 23, 2015 1:51:56 PM CST> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 7 task for the application 'eqmsx'.>
< Apr 23, 2015 1:51:56 PM CST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1429768313051' for task '50'. Error is: 'weblogic.application.ModuleException: '
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Connection
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at java.lang.ClassLoader.loadClass(ClassLoader.java:660)
at java.lang.ClassLoader.loadClass(ClassLoader.java:626)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
Truncated. see log file for complete stacktrace
>
< Apr 23, 2015 1:51:56 PM CST> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 7 task for the application 'eqmsx'.>
Caused By: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Connection
看上去像是找不到db2的驱动,但是我已经在domain的目录下放了db2的驱动程序
[P750B04][zgeqprod][/zgeqprod/zgeqdomain/lib]#ls -lrt
total 14480
-rwxr-xr-x 1 zgeqprod weblogic 702 Apr 15 11:26 readme.txt
-rwxr-xr-x 1 zgeqprod weblogic 3600060 Apr 17 10:38 db2jcc.jar
-rwxr-xr-x 1 zgeqprod weblogic 3801439 Apr 17 10:38 db2jcc4.jar
-rwxr-xr-x 1 zgeqprod weblogic 1015 Apr 17 10:38 db2jcc_license_cu.jar
也试着在应用的包里WEB-INF目录下加入DB2的驱动,依然不行。
不解?
【分析】
后来跟应用沟通,发现还是java版本的问题。
我安装weblogic时没有采用自带的默认的,而是选择了java6,应用的包里面用的java5,版本不一致,导致找不到驱动
【解决方法】先备份domain的setDomainEnv.sh文件,然后修改setDomainEnv.sh文件,在里面加入db2的驱动
PRE_CLASSPATH="${DOMAIN_HOME}/lib/db2jcc.jar:"
export PRE_CLASSPATH
重启应用后就能找到驱动,应用发布正常。