2024年6月12日发(作者:)

64位weblogic11g安装部署以及常见问题解决方案

目录

(一) 安装.................................................................................................................................................................................. 1

在Windows 64位操作系统安装Weblogic的注意事项 .......................................................................................... 5

(二) 部署运行 .......................................................................................................................................................................... 6

1. 包引入错误 .................................................................................................................................................................. 6

2. 乱码现象 ...................................................................................................................................................................... 6

3. mime-typeType配置问题 ..................................................................................................................................... 7

4. 应用不存在 .................................................................................................................................................................. 8

5. ClassNotFoundException: en ................................................................... 8

6. weblogic部署war包action不能访问问题解决方法 [There is no Action mapped for namespace /

and action name] ......................................................................................................................................................... 10

7. 11

8. 包冲突 ........................................................................................................................................................................ 11

包冲突可以在WEB-INF下新建文件,指定优先采用项目中指定的jar包,方式如下:......... 11

(一) 安装

我们在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-09712

,在这里可以看到除了mac os X操作系统外,其他系统的64位都是同一个版本,

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

2、下载64位JDK,我们下载的文件wls1036_文件里面不包括JDK,如

有可能, 请尽量在Windows/Linux平台下使用JRockit虚拟机,下载地址:

/technetwork/middleware/jrockit/downloads/

ml。通用的64位 Weblogic 安装程序本身并不绑定任何版本的64位 JVM, 因此请安装

第二步下载到的Java安装程序.默认的安装路径(C:Program Files)必须进行修改, 因为

Weblogic和很多Java类库都不能很好的支持带有空格的目录名.请确保将JDK安装到不

带任何空格的目录下(例如 C:Java);

然后使用命令行安装,如果配置了环境变理直接使在控制台里面输入下面的命令即可。

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

//界面安装,一般选择这个方法就可以

java -jar wls1034_ 即可启动安装过程, 默认启动的是图形界面的安装

向导.

//控制台安装,这个方法一般用在linux等没有安装桌面环境的服务器上,命令行方式

的安装命令用如下方式启动:

java -jar wls1034_ -mode=console

//静默安装用如下方式启动:

java -jar wls1034_ -mode=console

-silent_xml=/path_to_

此处不应该存在javajdkXXX, 特别需要注意的是,jdk必须为64位,如果jdk安

装目录有空格,则启动会报错,报错为:此处不应该存在javajdkXXX.解决办法为重装

JDK到一个没有空格的目录,或者把java目录拷贝到一个没有空格的目录,安装的

时候选择该目录下的jdk即可。另外该版本的weblogic,我用的是jdk1.7

3.现在创建域并启动服务器, 或许会发现如下提示的错误信息:

Java I/O instead. Please ensure that is in: ‘C:O

raclefmwhomewlserver_10.3servernativewin32;C:Oraclefmwhomewlse

rver_10.3

serverbin;C:WINDOWSsystem32;C:WINDOWS;C:Oraclefmwhomewlser

ver_10.3serve

rnativewin32;C:Oraclefmwhomewlserver_10.3serverbin;C:Program~J

avajdk

1.6.0_24jrebin;C:Javajdk1.6.0_24bin; ‘

解决方法

1) 进入如下目录:

<>wlserver_10.3servernativewinx64, 复制文件

并将其粘贴到 C:Javabin 目录下 (假设JDK事先已安装至 C:Java);

2)或者修改系统的PATH变量使其包含

<>wlserver_10.3servernativewinx64, 此为推荐做

法;

4. 启动服务器后, 问题应消失并可在Thread Dump中看到Muxer相关线程.

Linux/Unix下的解决方案:

需找到对应目录下的文件或者, 将其加入系统的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/中的环境变量

"JAVA_USE_64BIT"是否为“true”,以及“WL_USE_X86DLL”、“WL_USE_IA64DLL”

和“WL_USE_AMD64DLL”的值。

(二) 部署运行

1.

包引入错误

问题现象:Console页面提示

或者后台有如下错误日志

经过分析,应该是WEB-INFlib下的jar包仅读取到根目录就结束了。而类似cache

等文件夹下的jar没有读取。

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

2.

乱码现象

问题现象:部署后无法正常启动。经查,是web-inf/config下的POOLconfig

文件夹以及文件都没有生成。

或者访问页面出现乱码。

解决办法:

用命令locale -a 查询系统支持的字符集

然后在里加命令:lang=查询到的中文字符集名

样例:export LANG="zh_"

3.

mime-typeType配置问题

问题现象:错误日志VALIDATION PROBLEMS WERE FOUND problem:

cvc-datatype-valid.1.1: string value '' does not match pattern for

mime-typeType in namespace

Windows和linux都有这个问题。

解决方案:

msi

修改为

msi

application/x-msi

4.

应用不存在

问题现象:mentException:

[Deployer:149266]Illegal state for operation deploy: 'STATE_PREPARED'.

或者mentException: [Deployer:149001]No

application named 'tdapweb' exists for operation start

解决方案:在console页面左上角更新中心,点激活更新即可

5.

ClassNotFoundException: en

在做项目的时候,我用weblogic跑了一下自己的程序(开发一直在tomcat下),发

现出现了这样的问题,

ClassNotFoundException: en ,郁闷了半天,在

tomcat下没有任何错误,为何到weblogic就有问题了呢?

在百度和google上搜了好久,换了n个关键词,才搜到原因如下:

原因:

Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置

文件中,y_class属性用来选择查询翻译器。

(1)选择Hibernate3.0的查询翻译器:

y_class=

ryTranslatorFactory

(2)选择Hibernate2.1的查询翻译器

y_class=

cQueryTranslatorFactory

为了使用3.0的批量更新和删除功能,只能选择(1)否则不能解释批量更新的语句,

当使用的时候出现了不支持条件输入中文的情况。

选择(2)可以支持输入中文,但没法解释批量更新语句了

在hibernate3中需要用到antlr,然而这个包在中已经包含了antrl类

库,就会产生一些类加载的错误,

无法找到在war或者ear中的。

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

原来是冲突了,解决方法也很简单,就是添加

key="y_class">cQueryTransla

torFactory

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未找到的问题,

解决方法:

在里新增以下两行配置:

1. ?" />

2.

3. 重新打包部署,即可正常访问。如果此时启动的时候报错,比如Action找不到,

AtionForm找不到等,有可能是

中通配符的原因,把value=".*?/*.*jar(!/)?"改成value=".*?/_wl_cls_gen.*jar (!/)?"

即可。

7.

verflowError

参见

/view/ weblogic优化配

8.

包冲突

包冲突可以在WEB-INF下新建文件,指定优先采用项目中指定的jar包,

方式如下:

"1.0"

encoding=

"UTF-8"

?>

Application 8.1//EN"

"/servers/wls810/dtd/">

true

compileFlags

-g

keepgenerated

true

your project name