weblogic 11g部署Liferay6指南

2012年06月20日 Liferay 评论 1 条 阅读 13,872 views 次

以前为公司写的Liferay在weblogic11g上的部署指南。

环境装备

1.Weblgoic 11g

版本号:10.3.5

来源:Oracle官方网站下载

2.JDK(jrockit/SUN)推荐使用jrockit的JDK

版本:1.6.24

来源:weblogic 自带绑定版本

3.Liferay

版本:6.0.6(tomcat绑定版本)

来源:liferay.com网站下载

部署Liferay 6

前期准备

(weblogic的安装过程在此省略)

  1. 在weblogic域启动文件startWeblogic.cmd的@REM CALL setDomainEnv here.后面加入: set JAVA_OPTIONS=-Dfile.encoding=UTF-8。(否则liferay运行会出现乱码)
  2. (如果是jrockit 的JDK,此步骤不需要)在weblogic域配置文件setDomainEnv.cmd中设置文件中perm大小,默认是的是40M,最大128M,可以修改为默认128M,最大256M,具体的可以根据实际情况调整。
  3. weblogic JDK内存设置
  4. 将tomcat下面的lib/ext目录下面的所有jar包复制到相应域的lib目录下面。如我现在使用的域是base_domain,则是复制到base_domain/lib目录下面。
  5. 从网上下载一个jsf-api-1.2.jar的jar包也复制到base_domian/lib目录下面。
  6. 此步骤的配置和tomcat下一样,如果在tomcat下已经配置,在此不需要另配置在liferay工程的WEB-INF/class下面新建portal-ext.properties,在这里添加数据库JDBC配置,如果使用的是数据源,则添加配置:jdbc.default.jndi.name=jdbc/LiferayPool。(需要先在weblogic里面配置数据源。)
  7. 步骤非必须,推荐尽量设置)在weblogic所使用的JRE的lib目录下创建一个endorsed文件夹,然后复制serializer.jar和xalan.jar到这个目录。这两个文件可以在liferay工程的WEB-INF/lib目录下面找到。

开始部署

在weblgoic下面部署的方法有两种:

方法 一:

  1. 把原先在Tomcat的Root文件夹拷贝到base_domain\autodeploy下面。
  2. 修改%DOMAIN_HOME%\config\config.xml文件,在<configuration-version>10.3.5.0</configuration-version>下添加:
<app-deployment>
    <name>eip</name>
    <target>AdminServer</target>
    <module-type>war</module-type>
    <source-path>autodeploy\eip</source-path>
    <security-dd-model>DDOnly</security-dd-model>
    <staging-mode>nostage</staging-mode>
  </app-deployment>

到此,启动weblogic,即可进入工程。

方法二:

进入weblgoic的控制台,在左边的域结构处点击,部署,点击安装,下一步,选择root所在目录,点击下一步,全部使用默认选项,直到结束即可。

常见问题解决方法

1、在某些页面出现exceeding the 65535 bytes limit

某些页面出现如下信息,如后台控制面板的文档库管理。如下图所示:

exceeding_the_65535_bytes_limit

此问题的原因简单说就是JDK不允许编译后的class文件大小超过64K,如果超过了就不能正常加载。但为什么在tomcat下面没有问题,在weblogic下面会有这个问题呢?因为JSP文件的编译结果依赖于容器,weblgoic下面编译的生成的JSP的class文件比较大。

解决方法:

找到具体的相关JSP文件,我们发现里面大量的使用自定义标签,如JSTL标签,<c:if test=''></c:if>,使用了很多这样的JSTL标签,这些标签在生成具体的代码时会产生大量的代码,我们可以将这些标签修改成java代码断,如<c:if>修改成<% if()%>,这类的,将JSP里面的c:if,c:when等修改一些,再次更新到weblogic下面编译即不再出现此问题。

这个的解决方法不是很优雅,但是最快,最有效的解决方案。

2、出现大量的real path……is null的错误

如果在部署portlet插件时,出现这个错误,修改方法如下:

在相应工程的WEB-INF/weblogic.xml里面添加如下内容:

  <container-descriptor>

    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>

  </container-descriptor>

❶如果没有weblogic.xml文件,请从root工程里面复制一份过来

❷如果在weblogic.xml里面已经有container-descriptor,则在这个元素的里面添加show-archived-real-path-enabled即可。

用户头像

1 条留言  访客:0 条  博主:0 条   引用: 1 条

来自外部的引用: 1 条

  • Liferay 6开发学习(二十五):为Liferay换个运行中间件 | IT人生录

给我留言

您必须 登录 才能发表留言!

Copyright © IT人生录 保留所有权利.   主题设计 知更鸟 滇ICP备16001547号

用户登录

分享到: