您的位置:首页 > 其它

第一次接触Weblogic遇到的问题

2015-02-11 17:35 609 查看
安装步骤、发布服务不周网上资料满天飞,不再介绍、总结。

WebLogic10下载地址:http://yunpan.cn/cKNXYvDtqG233 访问密码 6f1c

问题一:启动Start Admin Server for Weblogic闪退,启动:Admin Server Console时报错不应该有\Java\jdk1.7.0\lib\dt.jar

问题二:启动Start Admin Server for Weblogic后控制台中文乱码问题。

问题三:发布项目时不成功Cannot set web app root system property when WAR file is not expanded



解决如下:

问题一)

【安装过程中会选择JDK,WebLogic自带的有两个Sun和Bea的,我选择的事bea的或者是Sun的,可是为什么会报错说我的电脑自己原来安装的JDK的jar不可用呢?甚是不解】

可以参考网上资料:

<a target=_blank href="http://happyqing.iteye.com/blog/1933339"><span style="font-size:18px;">http://happyqing.iteye.com/blog/1933339</span></a><span style="font-size:18px;"> 
此时不应有 \Java\jdk1.6.0_16\lib。
是因为环境变量中设置了J***A_HOME和CLASSPATH
解决方法:
网上有人说把环境变量删了就好了,本人觉得那么做不好,可能有的程序还依赖他
可以给weblogic单独设置JDK
在startWebLogic.cmd中靠前位置加入
set J***A_HOME=E:\OracleWeblogic\jdk160_29
set CLASSPATH=E:\OracleWeblogic\jdk160_29\lib
set J***A_OPTIONS=-Xms256m –Xmx1024m -XX:MaxPermSize256m
E:\OracleWeblogic\user_projects\domains\base_domain\bin\startWebLogic.cmd
 
也可以给节点管理器加
E:\OracleWeblogic\wlserver_12.1\server\bin\startNodeManager.cmd
set J***A_HOME=E:\OracleWeblogic\jdk160_29
set CLASSPATH=E:\OracleWeblogic\jdk160_29\lib
 
域环境配置
E:\OracleWeblogic\user_projects\domains\base_domain\bin\setDomainEnv.cmd
通用环境配置(更通用的配置)
E:\OracleWeblogic\wlserver_12.1\common\bin\commEnv.cmd
日志:
E:\OracleWeblogic\user_projects\domains\base_domain\servers\服务器名\logs
 </span>

可以将WebLogic和Tomcat类比,Tomcat自带的环境指向安装的JDK,只是WebLogic的环境变量指向的事WebLogic自带的安装的JDK,这里的J***A_Home ClASSpATH 都是自己重新设置的。

此时闪退解决,Start Admin Server for Weblogic启动时报错如下:



为查找到相关资料,最后解决是将配置的去掉,还是用自带【weblogic安装的时候已经选择了自带的JDK,一定用的是自己指定了的】

<span style="font-size:18px;">可以给weblogic单独设置JDK
在startWebLogic.cmd中靠前位置加入
set J***A_HOME=E:\OracleWeblogic\jdk160_29
set CLASSPATH=E:\OracleWeblogic\jdk160_29\lib
set J***A_OPTIONS=-Xms256m –Xmx1024m -XX:MaxPermSize256m
E:\OracleWeblogic\user_projects\domains\base_domain\bin\startWebLogic.cmd
</span>

这个问题就OK解决了。【具体原因还是不解,知识参考以上相关资料改了一些地方】

问题二)【对于乱码,肯定是字符集设置错了】

网上都是这么说的:

<span style="font-size:18px;">1.找到weblogic安装目录,当前项目配置的domain 
2.找到bin下的setDomainEnv.cmd文件 
3.打开文件,从文件最后搜索第一个set J***A_OPTIONS=%J***A_OPTIONS%(应该是倒数第四行,空行除外),修改为set J***A_OPTIONS=%J***A_OPTIONS%   -Dfile.encoding=utf-8 
4.保存文件,重新启动服务
 </span>

少有这么说的:将utf-8换成GBK

我自己调试均不可行:最后想了想中文下可能是gb2312

然后自己改成了encoding=gb2312,问题解决!



问题三)发布的.war包的时候不成功失败。

<span style="font-size:18px;">网上很多解决办法,说是 log4j 的配置问题,但是怎么搞都不行!

最后查看源码,发现其实主要问题是 : servletContext.getRealPath函数为空
然后就根据这个去查 ,发现果然是weblogic的问题;

解决办法:
在web-inf 下面 加  weblogic.xml 
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">  
   
<weblogic-web-app>  
  <container-descriptor>  
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>  
  </container-descriptor>  
</weblogic-web-app>  
<span style="font-family:Arial;BACKGROUND-COLOR: #ffffff"></span>
</span>

OK。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: