记一次在Solaris 10上安装weblogic的经历

事情的开始

安装的peoplesoft须要使用64位的weblogic 10.3.6,官方下载到的安装介质中包含的jdk安装文件名称为jdk-7u9-solaris-sparcv9.tar.gz,按照以往的经验,tar.gz格式的jdk,只要解包到相应的路径下,设置对应的环境变量以后就可使用了。因而我将其解压到/u01/HRDEV/Middleware路径下,获得了一个名为jdk1.7.0-09的目录。而后紧接着,开始安装weblogic。php

第一个问题

运行以下命令开始安装weblogic:html

chmod +x wls1036.jar
java -jar wls1036.jar

却出现了以下错误,说运行安装程序须要1.6版本的jdk,可是当前系统中的jdk版本为1.5。这样安装就没法进行下去了。必须得先在操做系统上安装1.6版本的jdk才行了。因而就到Oracle的网站上http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html找到1.6_45的最新版本。根据前面安装1.7的经验,下载了jdk-6u45-solaris-sparcv9.sh,而后到服务器上直接运行释放出来,获得了jdk1.6.0_45的目录,可是进到jdk1.6.0_45/bin下却没看到java的可执行文件,却是在jdk1.6.0_45/bin/sparcv9中找到java的可执行文件。
尝试运行java -version报错java

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

这种报错通常是因为找不到须要的class。并且此次安装的jdk确实是很奇怪,好多应该有的文件都没有。因而带着疑问去问谷姐。找到以下两篇文章:
http://serverfault.com/questions/71268/how-do-you-install-a-jdk6-on-solaris10-sparc-64bits
http://onlineappsdba.com/index.php/2009/11/23/how-to-install-weblogic-server-on-64-bit-os-linux-solaris/linux

其中最主要的内容就是:
SOLARIS中的JDK比较特殊,64bit的JDK是在32bit的JDK上扩展出来的,因此要先安装32bit的JDK,而后在此基础上安装64bit的JDK。这样就能够解释为何 jdk-6u45-solaris-sparc.sh(32bit)有73m多,而jdk-6u45-solaris-sparcv9.sh却只有12m多一点了,web

了解到这个信息以后,立刻开干,先安装jdk-6u45-solaris-sparc.sh,而后在其基础上安装jdk-6u45-solaris-sparcv9.sh,获得完整的jdk1.6.0_45目录,到jdk1.6.0_45/bin中运行java -version也能够正常返回了。服务器

而后weblogic安装也能够开开心心的跑起来了,并且也正常跑完了。oracle

再次遭遇不幸

接着继续进行下面的操做,到安装web程序的时候,竟然提示我安装的weblogic是32bit的。what!我明明用的是64bit的JDK啊。
这个时候已经有些不爽了,不过先平静一下。
到MOS上搜索一番,找到以下note:app

How to Install 64-bit Java SE on 64-bit Solaris Operating Systems ? (文档 ID 1326945.1)
E-WL: "This version of PeopleSoft PeopleTools requires a 64-bit Oracle WebLogic installation" (文档 ID 1262156.1)
How to Determine if WebLogic Server is Running in 32-bit or 64-bit Mode (文档 ID 813707.1)网站

看完文章,中心意思是对mixed mode的jdk(solaris平台就是),实际jdk的位数是和java使用的参数有关系的,要使用64bit的话,须要加上-d64参数,例如ui

./java -d64 -version

而安装weblogic的位数是和安装时选择的jdk位数有一致的。这个时候问题就清楚了,我须要使用-d64参数从新安装一次,就能够获得64bit的weblogic。

总结

此次问题的产生,主要是因为对solaris平台上JDK不熟悉致使。问题解决以后,能够总结出如下两点:

  1. SOLARIS平台的64bit JDK是从32bit扩展而来的,安装的时候就都要装上,这就是所谓的mixed mode。
  2. 对于mixed mode的JDK,要使用64bit,须要在运行的时候加上-d64参数,例如
    ./java -d64 -version
相关文章
相关标签/搜索