Tomcat项目移植到Weblogic的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat项目移植到Weblogic的问题相关的知识,希望对你有一定的参考价值。
我的一个SSI(struts+spring+ibatis)项目在tomcat服务器上运行正常,但部署到weblogic上时报错。出错信息如下:
weblogic.management.ManagementException: - with nested exception:
[weblogic.management.DeploymentException:
Exception:weblogic.management.ApplicationException: start() failed.
Module: WebContent Error: weblogic.management.DeploymentException: Error creating bean with name 'sqlMapClientAccess' defined in ServletContext resource [/WEB-INF/dataAccessContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: ServletContext resource [/WEB-INF/sql-map-config.xml]; nested exception is com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: workflow.valueobject.UserVO - with nested exception:
[java.lang.ClassNotFoundException: workflow.valueobject.UserVO]
]
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare()V(SlaveDeployer.java:2413)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Lweblogic/management/deploy/OamVersion;Lweblogic/management/runtime/DeploymentTaskRuntimeMBean;Z)V(SlaveDeployer.java:883)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(Lweblogic/management/deploy/OamDelta;Lweblogic/management/deploy/OamVersion;ZLjava/lang/StringBuffer;)Z(SlaveDeployer.java:591)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(Ljava/util/ArrayList;Z)V(SlaveDeployer.java:500)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(Lweblogic/kernel/ExecuteThread;)V(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
>
跪请高手指点一二。
首先感谢各位的回答。不过不是UserVO类配置的问题。首先,在Tomcat上是能正确运行的,就是到Weblogic上不好使了,说jdk版本有问题,我也这样想过,我用的是WebLogic8.1,它自带的jdk是1.4,不过,我感觉最可能的问题是数据源配置那块儿的问题,但具体该怎么写我不清楚。请高手指点!不胜感激。
最有可能的问题是:
1、JDK版本问题。楼主用的是Weblogic8.1,Weblogic8.1自带的JDK版本是1.4,那么楼主的项目是用什么版本的JDK开发的呢?也是1.4吗?如果楼主用的JDK版本比1.4高,那我建议楼主安装Weblogic10,因为Weblogic10自带的JDK版本是1.6,即使楼主的项目是用JDK1.5开发的,部署到Weblogic10上JDK方面也不会出什么问题。
2、Spring与Weblogic的冲突问题。这个问题很棘手。网上有很多相关资料。我主要提醒楼主的是要注意log4j的配置问题。
3、数据源配置的问题。楼主自己也提到非常怀疑是数据源配置那块儿的问题,但是具体是什么问题也说不清楚。
其实,一般来说,Tomcat项目移植到Weblogic上出现的问题无怪乎这三大类问题。希望对楼主有所帮助,祝楼主好运。 参考技术A 说实话错误信息很明显:java.lang.ClassNotFoundException: workflow.valueobject.UserVO 是这个vo找不到,可能是sqlmap配置有点问题。。路径啊,大小写啊之类的,但是楼主说的在tomcat上已经运行正常了。。这就很怪异了。说明代码及配置没有问题才对,我以前遇到的tomcat服务器上运行正常转到weblogic上报错的情况是因为jdk与weblogic自带的jdk冲突,但看你这错误信息也不象。楼主在仔细检查下,错误到不严重,耐心就好。 参考技术B 检查一下JDK版本。必须用weblogic自带的jdk,java类也要用于weblogic相同的版本编译,否则不识别 参考技术C workflow.valueobject.UserVO这个类没有找到,导致解析sql-map-config.xml和dataAccessContext.xml出现异常,你仔细对一下sql-map-config.xml里面UserVO这个类的路径是否正确
以上是关于Tomcat项目移植到Weblogic的问题的主要内容,如果未能解决你的问题,请参考以下文章
把项目从tomcat5.5移植到weblogic10的问题。
(求救)项目在tomcat想正常,部署到weblogic9下 一旦调用action就报空指针