首先,先确定自己项目的WEB-INFO下有weblogic.xml,没有的话先加上。因为有不少问题是jar包冲突导致,因为没有设置优先使用项目自己的jar包,weblogic会使用它自己的jar包。所以要通过weblogic.xml设置优先使用项目jar包。
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
1、tomcat项目部署到weblogic服务下,有三种部署方式,参考链接文档,推荐使用第三种。链接地址:http://www.bkjia.com/xtzh/1008367.html
需要注意的是:
1)ssmweb.war包解压到ssmweb,因为weblogic不会解压war包,它会直接使用war包,所以对自定义的配置文件,它的访问方式就变成jar的形式,在访问路径中会出现类似 “_wl_cls_gen.jar!”的情况,引发不容易处理的错误(网上能搜到类似错误,解决方式多种,可能很轻松就能对号入座,解决问题,也可能尝试N种方法后仍不能解决)
2)需要修改的weblogic配置文件,参考目录:D:\Weblogic\user_projects\domains\
base_domain\config\config.xml
a、<name>标签填写项目名称
b、<module-type>标签填写dir(默认是war)
c、<source-path>标签填写项目路径
如下图所示:
2、错误:The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
web.xml配置有问题,TOMCAT对web.xml的验证要求不严格,二weblogic相反,很严格,用XMLSPY等检查你的web.xml文件,重要的是保持版本的统一
解决:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
3、错误:Unsupported major.minor version 51.0
1)、用jdk7编译的class文件放到基于jdk6运行在tomcat或者weblogic之中,会报这个错。
解决:项目------>右键------>属性------>Java Compiler------>Compiler Compliance Level------>选择你使用的JDK版本------>应用。
2)、有的时候是某个jar依赖的jdk的版本太高,比如我使用的cxf3.1.6的jdk版本是1.7的,要把他换成3.0.9的(jdk1.6)才行。
3)、fastjson版本0.1.0以上的,也会报这个错
4、页面乱码问题
1)、页面显示乱码,但使用开发者工具调试的时候,获取的数据不是乱码,可能就是json工具引起的,使用fastjson 0.1.0(jdk1.6),解决问题(之前使用的是jackson)
2)、其他情况的乱码,请继续网上搜索
如有其他问题,欢迎提出讨论
来源:oschina
链接:https://my.oschina.net/u/2634462/blog/698155