最近安装了开源的门户:liferay 6.1,我采用的是在CentOS Tomcat 7 的环境中手动安装。 按照 liferay 的安装文档 Installing Liferay on Tomcat 7,一步一步都很顺利, 最后在游览器中输入测试URL: http://localhost:8080,却遇见了以下的报错:  
 an-unexpected-system-error-occurred
 java.lang.NullPointerException

怎么办呢?

查阅了网上的资料,结果是:lifray 6.1 目前是无法在 JDK 1.7 中运行的,问题的页面:Tomcat start but not liferay portal 而我的CentOS中安装的正好是 Oracle的 jdk 1.7 版本,我从Oracle下载的是:jre-7u25-linux-x64.prm。

就是这个问题所在,赶快将 jdk 1.7 卸载  

1
2
    rpm -qa | grep jre (找到jdk的包)  
    rpm -e --nodeps (找到jdk的包名,进行卸载)

然后,安装 openjdk 的 jdk1.6

1
 yum install java-1.6.0-openjdk 

或者

1
 yum install java-1.6.0.-openjdk-devel

详细可以参见:How to download and install prebuilt OpenJDK packages

然后把环境变量也修改一下:编辑 /etc/profile.d/java.sh

1
2
    (文章内容):export JAVA_HOME= 目录
   (我的例子):export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/  

然后使之生效,键入命令:

1
   source /etc/profile.d/java.sh

最后验证一下:

1
2
   echo $JAVA_HOME
   java -version   

好了,现在在重新启动 Tomcat:在 Tomcat的目录下, 进入 bin 子目录,运行

1
2
   ./shutdown.sh
   ./startup.sh

这样在 http://localhost:8080 就可以看到 liferay 的页面啦。

果然是 liferay 6.1 需要跑在 jdk 1.6 (或者 jdk 1.5),而不是 jdk 1.7 下面啊。

扩展和联想:

访客的留言(2)

  1. 看博主的文章写的很好,感觉主题太乱,不利于回头客的访问。

欢迎留言