weblogic 11g部署Liferay6指南
以前为公司写的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的安装过程在此省略)
- 在weblogic域启动文件startWeblogic.cmd的@REM CALL setDomainEnv here.后面加入: set JAVA_OPTIONS=-Dfile.encoding=UTF-8。(否则liferay运行会出现乱码)
- (如果是jrockit 的JDK,此步骤不需要)在weblogic域配置文件setDomainEnv.cmd中设置文件中perm大小,默认是的是40M,最大128M,可以修改为默认128M,最大256M,具体的可以根据实际情况调整。
- 将tomcat下面的lib/ext目录下面的所有jar包复制到相应域的lib目录下面。如我现在使用的域是base_domain,则是复制到base_domain/lib目录下面。
- 从网上下载一个jsf-api-1.2.jar的jar包也复制到base_domian/lib目录下面。
- (此步骤的配置和tomcat下一样,如果在tomcat下已经配置,在此不需要另配置)在liferay工程的WEB-INF/class下面新建portal-ext.properties,在这里添加数据库JDBC配置,如果使用的是数据源,则添加配置:jdbc.default.jndi.name=jdbc/LiferayPool。(需要先在weblogic里面配置数据源。)
- (步骤非必须,推荐尽量设置)在weblogic所使用的JRE的lib目录下创建一个endorsed文件夹,然后复制serializer.jar和xalan.jar到这个目录。这两个文件可以在liferay工程的WEB-INF/lib目录下面找到。
开始部署
在weblgoic下面部署的方法有两种:
方法 一:
- 把原先在Tomcat的Root文件夹拷贝到base_domain\autodeploy下面。
- 修改%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
某些页面出现如下信息,如后台控制面板的文档库管理。如下图所示:
此问题的原因简单说就是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 条