64位weblogic安装部署以及常见问题解决

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

64位weblogic11g安装部署以及常见问题解决方案
目录
(一) 安装 (1)
在Windows 64位操作系统安装Weblogic的注意事项 (3)
(二) 部署运行 (3)
1. 包引入错误 (3)
2.乱码现象 (3)
3.mime-typeType配置问题 (4)
4.应用不存在 (4)
5.ClassNotFoundException: org.hibernate.hql.ast.HqlToken (4)
6.weblogic部署war包action不能访问问题解决方法[There is no Action mapped for
namespace / and action name] (5)
ng.StackOverflowError (5)
(一)安装
我们在64位的服务器上为提高性能要安装64位的weblogic。

经常在网上看到有人问,weblogic有64位的么?weblogic需要破解么?
weblogic有专门的64位版本,这里安装的是weblogic11g,也就是10.3.6版本,12c的版本安装应该类似。

weblogic从bea被oracle收购后,不需要破解,就只有授权。

什么意思呢?就是说从oracle官网上下载的weblogic 就是全功能版本,不管是集群还是其他,功能没有任何限制。

但是如果要用于商业环境,必须要向oracle买license,当然可以偷偷的用,那就是盗版,侵权,有一天oracle可以告的破产……。

1、下载64位weblogic,打下这个地址:
/technetwork/middleware/ias/downloads/wls-main-097127.html,在这里可以看到除了mac os X操作系统外,其他系统的64位都是同一个版本,wls1036_generic.jar。

如下图,weblogic的下载需要注册一个oracle官网的帐号。

2、下载64位JDK,我们下载的文件wls1036_generic.jar文件里面不包括JDK,如有可能, 请尽量在Windows/Linux平台下使用JRockit虚拟机,下载地址:
/technetwork/middleware/jrockit/downloads/index.html。

通用的64位Weblogic 安装程序本身并不绑定任何版本的64位JVM, 因此请安装第二步下载到的Java安装程序.默认的安装路径(C:\Program Files)必须进行修改, 因为Weblogic和很多Java类库都不能很好的支持带有空格的目录名.请确保将JDK安装到不带任何空格的目录下(例如C:\Java);
然后使用命令行安装,如果配置了环境变理直接使在控制台里面输入下面的命令即可。

如果没有配置文件变量,在控制台使用cd进入到jdk的bin目录下面执行如下命令。

//界面安装,一般选择这个方法就可以
java -jar wls1034_generic.jar 即可启动安装过程, 默认启动的是图形界面的安装向导.
//控制台安装,这个方法一般用在linux等没有安装桌面环境的服务器上,命令行方式的安装命令用如下方式启动: java -jar wls1034_generic.jar -mode=console
//静默安装用如下方式启动:
java -jar wls1034_generic.jar -mode=console -silent_xml=/path_to_silent.xml
此处不应该存在\java\jdkXXX,特别需要注意的是,jdk必须为64位,如果jdk安装目录有空格,则启动会报错,报错为:此处不应该存在\java\jdkXXX.解决办法为重装
JDK到一个没有空格的目录,或者把java目录拷贝到一个没有空格的目录,安装的时候选择该目录下的jdk即可。

另外该版本的weblogic,我用的是jdk1.7
3.现在创建域并启动服务器, 或许会发现如下提示的错误信息:
<Error> <Socket> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure
that wlntio.dll is in: ‘C:\O
racle\fmwhome\wlserver_10.3\server\native\win\32;C:\Oracle\fmwhome\wlserver_10.3
\server\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Oracle\fmwhome\wlserver_10.3\serve
r\native\win\32\;C:\Oracle\fmwhome\wlserver_10.3\server\bin;C:\Program~\Java\jdk
1.6.0_24\jre\bin;C:\\Java\jdk1.6.0_24\bin; ‘
解决方法
1) 进入如下目录: <<Weblogic_Home_Directory>>\wlserver_10.3\server\native\win\x64, 复制文件wlntio.dll 并将其粘贴到C:\Java\bin 目录下(假设JDK事先已安装至C:\Java);
2)或者修改系统的PATH变量使其包含<<Weblogic_Home_Directory>>\wlserver_10.3\server\native\win\x64, 此为推荐做法;
4. 启动服务器后, 问题应消失并可在Thread Dump中看到Muxer相关线程.
Linux/Unix下的解决方案:
需找到对应目录下的文件libmuxer.so或者libmuxer.sl, 将其加入系统的PATH或者LD_LIBRARY_PATH环境变量, 并确保WebLogic进程的所有者用户对其有读和执行的权限.
在Windows 64位操作系统安装Weblogic的注意事项
weblogicwindowsdlldomainjdk64bit
1、首先必须先安装一个64位的JDK,用于Weblogic、ADF运行时环境以及Domain的安装,如果安装Weblogic、ADF运行时环境或者Domain安装时使用的是32位的JDK,将可能产生不可预期的问题,例如在将Weblogic 安装为Windows服务时,WebLogic将启动不了。

(没有日志,没有任何提示)。

2、Weblogic安装文件必须是通用的jar文件,不能是exe版本的。

之所以用jar版本的weblogic安装,是为了确保在安装过程中在weblogci的native目录下生成64位的lib文件。

3、检查/wlserver_10.3/common/bin/commEnv.cmd中的环境变量"JAVA_USE_64BIT"是否为“true”,以及“WL_USE_X86DLL”、“WL_USE_IA64DLL” 和“WL_USE_AMD64DLL”的值。

(二)部署运行
1.包引入错误
●问题现象:Console页面提示
或者后台有如下错误日志
经过分析,应该是\WEB-INF\lib下的jar包仅读取到根目录就结束了。

而类似cache等文件夹下的jar没有读取。

●解决方案:在setDomainEnv.sh文件中指定文件访问路径。

2.乱码现象
●问题现象:部署后无法正常启动。

经查,是web-inf/config下的POOLconfig文件夹
以及文件都没有生成。

或者访问页面出现乱码。

●解决办法:
用命令locale -a 查询系统支持的字符集
然后在startserver.sh里加命令:lang=查询到的中文字符集名
样例:export LANG="zh_CN.GBK"
3.mime-typeType配置问题
●问题现象:错误日志V ALIDATION PROBLEMS WERE FOUND problem:
cvc-datatype-valid.1.1: string value 'msiexec.exe'does not match pattern for mime-typeType in namespace
Windows和linux都有这个问题。

●解决方案:
Web.xml中
<mime-mapping>
<extension>msi</extension>
<mime-type>msiexec.exe</mime-type>
</mime-mapping>
修改为
<mime-mapping>
<extension>msi</extension>
<mime-type>application/x-msi</mime-type>
</mime-mapping>
4.应用不存在
●问题现象:weblogic.management.DeploymentException: [Deployer:149266]Illegal
state for operation deploy: 'STATE_PREPARED'.
或者weblogic.management.ManagementException: [Deployer:149001]No application named 'tdapweb' exists for operation start
●解决方案:在console页面左上角更新中心,点激活更新即可
5.ClassNotFoundException: org.hibernate.hql.ast.HqlToken
在做项目的时候,我用weblogic跑了一下自己的程序(开发一直在tomcat下),发现出现了这样的问题,
ClassNotFoundException: org.hibernate.hql.ast.HqlToken ,郁闷了半天,在tomcat下没有任何错误,为何到weblogic就有问题了呢?
在百度和google上搜了好久,换了n个关键词,才搜到原因如下:
原因:
Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。

(1)选择Hibernate3.0的查询翻译器:
hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
(2)选择Hibernate2.1的查询翻译器
hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
为了使用3.0的批量更新和删除功能,只能选择(1)否则不能解释批量更新的语句,当使用的时候出现了不支持条件输入中文的情况。

选择(2)可以支持输入中文,但没法解释批量更新语句了
在hibernate3中需要用到antlr,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,
无法找到在war或者ear中的hibernate3.jar。

出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。

原来是冲突了,解决方法也很简单,就是添加
<prop
key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory </prop>
6.weblogic部署war包action不能访问问题解决方法[There is no Action mapped for
namespace / and action name]
java web项目如果使用注解方式开发,打成war包后部署到weblogic上后会出现"There is no Action mapped for namespace / and action name" action未找到的问题,解决方法:
在struts.xml里新增以下两行配置:
中通配符的原因,把value=".*?/*.*jar(!/)?"改成value=".*?/_wl_cls_gen.*jar (!/)?"即可。

ng.StackOverflowError
参见/view/c42e7a5bbe23482fb4da4cf2.html weblogic优化配置
8.包冲突
包冲突可以在WEB-INF下新建weblogic.xml文件,指定优先采用项目中指定的jar包,方式如下:
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC"-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<!-- 为web.xml所定义角色赋值,如果是Weblogic 8.1 SP2 或者之前的版本,
可以不定义security-role-assignment,如果是SP3,必须手工添加所有principal (角色或角色组);详细介绍请参考 PAFA3开发设计指南文档。

-->
<!--<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor>
指定了优先使用项目中的jar包
-->
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor>
<jsp-descriptor>
<jsp-param>
<param-name>compileFlags</param-name>
<param-value>-g</param-value>
</jsp-param>
<jsp-param>
<param-name>keepgenerated</param-name>
<param-value>true</param-value>
</jsp-param>
</jsp-descriptor>
<context-root>your project name</context-root>
</weblogic-web-app>。

相关文档
最新文档