Weblogic下部署服务遭遇各种问题的解决方案
2011-07-14 13:29
423 查看
Weblogic下部署服务注意事项:
1. 解决weblogic与hibernate的jar包冲突问题:首先找到该系统的DOMAIN_HOME(即你所建的域所在的位置)如:域empi的DOMAIN_HOME为:/home/wl11g/Oracle/Middleware/user_projects/domains/empi,再在${DOMAIN_HOME}/bin下找到startWeblogic.sh文件用文本编辑器将其打开,并在里面加入如下内容(在此之前需要将准备好的antlr-2.7.6.jar+拷贝到${DOMAIN_HOME}/lib目录下,也可以是其他目录,但下面的hibernate_classpath的值也得跟着作出相应的变化):export hibernate_classpath=${DOMAIN_HOME}/lib/antlr-2.7.6.jar接着修改SAVE_CLASSPATH成SAVE_CLASSPATH="${hibernate_classpath}:${CLASSPATH}",此时该问题已经成功解决。2. 解决weblogic找不到hibernate.dialect的问题:在将要部署的应用的classpath下面加入一个hibernate.properties文件,里面只要一句设置hibernate.dialect的值的内容即可(不论你是否在hibernate.cfg.xml或spring的配置文件中有进行相关的配置,只要是出现系统找不到hibernate.dialect的异常时便可以通过此方法解决),如:hibernate.dialect=org.hibernate.dialect.Oracle10gDialect。3. 如果你需要在该服务器上发布基于axis2的webservice时还需解决axis2与weblogic的jar包冲突问题。在你的应用的WEB-INF下面新建一个weblogic.xml文件,其内容如下所示:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD WebApplication 8.1//EN""http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"><weblogic-web-app><container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor></weblogic-web-app>但此时如果你的应用中有重复的jar包,将会报jar包冲突的相关异常,此时要细心处理,避免这种情况出现,(如果你的应用的classpath下面有xml-api这个jar包应该删掉,否则会出现jar包冲突异常)此问题到写该文档为止还没又发现更好的解决方案。对于该问题还可以参考以下文档:http://ws.apache.org/axis2/1_4_1/app_server.html4.:如果你的应用在tomcat等应用服务器下工作都正常,部署在weblogic下时却发现由spring管理的某个javaBean没有被定义,这时可能是你在web.xml中配置spring的配置文件使用了通配符的原因,可以试将原本用通配符表示的一系列spring配置文件改成全名配置。或许有希望解决问题5:如果你有配置文件放在了classpath下面,而且代码里面用File这样的类来读取这个文件可能会出现找不到相关文件的情况,这时可以改用InputStream来读取该文件。
1. 解决weblogic与hibernate的jar包冲突问题:首先找到该系统的DOMAIN_HOME(即你所建的域所在的位置)如:域empi的DOMAIN_HOME为:/home/wl11g/Oracle/Middleware/user_projects/domains/empi,再在${DOMAIN_HOME}/bin下找到startWeblogic.sh文件用文本编辑器将其打开,并在里面加入如下内容(在此之前需要将准备好的antlr-2.7.6.jar+拷贝到${DOMAIN_HOME}/lib目录下,也可以是其他目录,但下面的hibernate_classpath的值也得跟着作出相应的变化):export hibernate_classpath=${DOMAIN_HOME}/lib/antlr-2.7.6.jar接着修改SAVE_CLASSPATH成SAVE_CLASSPATH="${hibernate_classpath}:${CLASSPATH}",此时该问题已经成功解决。2. 解决weblogic找不到hibernate.dialect的问题:在将要部署的应用的classpath下面加入一个hibernate.properties文件,里面只要一句设置hibernate.dialect的值的内容即可(不论你是否在hibernate.cfg.xml或spring的配置文件中有进行相关的配置,只要是出现系统找不到hibernate.dialect的异常时便可以通过此方法解决),如:hibernate.dialect=org.hibernate.dialect.Oracle10gDialect。3. 如果你需要在该服务器上发布基于axis2的webservice时还需解决axis2与weblogic的jar包冲突问题。在你的应用的WEB-INF下面新建一个weblogic.xml文件,其内容如下所示:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD WebApplication 8.1//EN""http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"><weblogic-web-app><container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor></weblogic-web-app>但此时如果你的应用中有重复的jar包,将会报jar包冲突的相关异常,此时要细心处理,避免这种情况出现,(如果你的应用的classpath下面有xml-api这个jar包应该删掉,否则会出现jar包冲突异常)此问题到写该文档为止还没又发现更好的解决方案。对于该问题还可以参考以下文档:http://ws.apache.org/axis2/1_4_1/app_server.html4.:如果你的应用在tomcat等应用服务器下工作都正常,部署在weblogic下时却发现由spring管理的某个javaBean没有被定义,这时可能是你在web.xml中配置spring的配置文件使用了通配符的原因,可以试将原本用通配符表示的一系列spring配置文件改成全名配置。或许有希望解决问题5:如果你有配置文件放在了classpath下面,而且代码里面用File这样的类来读取这个文件可能会出现找不到相关文件的情况,这时可以改用InputStream来读取该文件。
相关文章推荐
- 部署tomcat 服务遭遇莫名的404错误问题分析
- Ceph 时钟偏移问题 clock skew detected 解决方案--- 部署内网NTP服务
- 【EDAS问题】轻量级EDAS部署hsf服务出现找不到类的解决方案
- 部署wp 的时候遭遇的google字体问题
- 【Eclipse】部署新项目的几个出错问题与解决方案
- weblogic部署javaweb项目遇到的一些问题
- jeecg 分布式部署附件共享问题(linux下配置共享磁盘nfs服务)
- scapyd部署出现的问题的解决方案
- SurfaceView+MediaPlayer 播放视频 锁屏 没有画面等各种问题的解决方案。
- Weblogic 11g下部署java 项目出现QName问题的解决
- 使用Apache Axis部署 Web服务时的常见问题及其解决方法
- 在win2003上IIS部署可能出现的问题的解决方案
- 使用Apache Axis部署 Web服务时的常见问题及其解决方法
- Java各种中文乱码问题及解决方案
- JAVA之编码/解码 -- 各种环境下可能会发生的乱码问题及解决方案
- [转]ClickOnce部署出现 系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
- AndroidPn部署weblogic问题汇总
- vim各种乱码问题解决方案
- Windows下Djang+Wsgi+Apache配置,各种该相关配置问题的终极解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案