Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > opencms 介绍及在weblogic8下的部署(原创)
【标  题】:opencms 介绍及在weblogic8下的部署(原创)
【关键字】:opencms,weblogic8
【来  源】:http://www.blogjava.net/flylijian/archive/2007/02/10/99169.html

opencms 介绍及在weblogic8下的部署(原创)

Your Ad Here

原文引用
http://flylijian.spaces.live.com/

opencms 介绍及在weblogic8下的部署

???? 今天周末在家无事上网闲逛时,发现很多人都在使用opencms;由于opencms缺省支持的是tomcat,对于在商业的中间件weblogic、websphere下部署却很少资料可查,所以写了这篇文章;
一。OpenCms是一个专业级别的开源网站内容管理系统,其中文网站为http://www.opencms.cn/
???? 目前可以使用的最新稳定版为6.2.3版。其特点如下:
????
  • 直接从WEB站点的前台编辑内容
  • 自动在线/离线工作流
  • 灵活的内容资源
  • 集成全文搜索引擎
  • 所见即所得编辑非结构化内容
  • 结构化内容采用易于定义的基于XML的内容项目
  • 在一个应用中管理多个站点
  • 全文搜索支持PDF、Word、Excel文档资源
  • 为所有的存储资源均可进行配置
  • 基于时间的自动内容发布和过期
  • 完全支持统一编码内容
  • ACL(Access Control List 访问控制表)权限控制系统
  • 可选的HTML静态导出
  • 基于JSP的模版机制
  • 模块具有版本控制

? 详细请浏览其官方网址http://www.opencms.org

二。 weblogic8下的部署前的准备工作

1。目前稳定版本为6.2.3,但对应开发者和学习使用的可以下到它的最新开发版本7.0版;

2。使用eclipse自带的cvs插件下载其最新版本

???? 1)cvsroot为:pserver:anon@cvs.opencms.org:/usr/local/cvs

???2)密码为anon,取分支cvs checkout -r DEV_7_0 opencms可以得到最新源代码.

3. 安装weblogic8,我使用的是platform812_zh_CN_win32.exe版本。

4. 缺省安装完weblogic8后,运行它的配置向导,新建一个basic weblogic server domain,域名改名为opencms,其它全部采用默认设置完成。

5.weblogic域创建成功后,缺省在bea安装目录下会生成user_projects\domains\opencms

三。两种部署opencms方式

a)取下来的opencms源码中提供了ant方式,可以直接生成war包进行部署,即采用war方式进行部署;这是最简单和最方便的部署方式 ,但对于开发者来说这应该算是属于产品发布阶段的部署,因此调试起来会很不方便;

b)另一种方式是直接把源代码目录部署到weblogic下,这样可以很方便的进行调试;由于通过weblogic的控制台只能进行

?? war和ear的部署,所以我们只能直接修改它的配置文件进行部署。

我们采用第二种方式进行部署

1。首先在eclipse编译取下来的源码,由于取下来的源码还需要第三方的jar文件,如ant.jar;找到相应的jar文件引

?? 入进来,另外在它的模块文件中还引用了其它的文件,如果确定用不上可以先全部删除掉以便可以正确编译成功;

2.编译时最好使用jdk1.4的版本,或直接使用bea自带的jdk进行编译,一会儿我会说明原因;

3.编辑user_projects\domains\opencms\config.xml,添加如下内容

?? ?? <Application Deployed="true" Name="opencms"
??????? Path="D:\eclipse3.2.1\eclipse\workspace\opencms\webapp\.\."
??????? StagedTargets="myserver" TwoPhase="false">
??????? <WebAppComponent DeploymentOrder="1001" Name="opencms"
??????????? Targets="myserver" URI="."/>
??? </Application>
??? <ApplicationManager Name="opencms"/>

其中Path="xxxx"中的内容为你的opencms实际安装目录

4.修改weblogic启动文件user_projects\domains\opencms\startWebLogic.cmd

? 引如如下jar文件:

echo CLASSPATH=%CLASSPATH%
set OPEN_CMS=D:\eclipse3.2.1\eclipse\workspace\opencms
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-logging-1.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\activation.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\alkacon-diff-0.9.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\alkacon-simapi-0.9.4.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\ant-contrib-1.0b1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\ant-opencms-1.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-beanutils-1.7.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-codec-1.3.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-collections-3.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-dbcp-1.2.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-digester-1.7.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-email-1.0-mod.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-fileupload-1.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-httpclient-3.0.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-pool-1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\dom4j-1.6.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\htmlparser-1.5-20050925.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jakarta-oro-2.0.8.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jaxen-1.1-beta-4.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jstl-1.1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jtidy-r8-05102004.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jug-1.1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\junit-3-8-1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\log4j-1.2.9.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-analyzers-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-core-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-highlighter-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-snowball-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\mail.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\mysql-connector-java-3.1.12-bin.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\PDFBox-0.7.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\pg74.216.jdbc3.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\poi-2.5.1-final-20040804.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\quartz-1.4.5.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\servlet.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\standard-1.1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\atm-extractors-0.4.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\xercesImpl.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\xml-apis.jar

5.到目前应该可以运行了,在运行中可能会出现各种各样的问题(依据取下来的版本),按下列方法进行处理

6.点击user_projects\domains\opencms\startWebLogic.cmd启动服务;观察控制台和user_projects\domains\opencms\myserver下的日志文件,查看错误提示;

下面是我运行中碰到的错误进行的相应的调整

1)控制台报The WebLogic Server did not start up properly.
java.io.InvalidClassException: javax.management.MBeanAttributeInfo; local class incompatible: stream classdesc serialVersionUID = 7043855487133450673, local class serialVersionUID = 8644704819898565848
错误原因及解决办法:MBeanAttributeInfo的serialVersionUID的版本控制id不一样,说明是使用这个被使用的bean被修改过了,很显然是版本不对;修改startWebLogic.cmd文件,设置set JAVA_HOME=D:\bea\jdk141_05,使其指向weblogic自带的jdk;重启startWebLogic.cmd问题消失。

2)错误报Deployment descriptor "web.xml" is malform
ed. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find

错误原因及解决办法:解析web.xml出现问题,修改OPEN_CMS\webapp\WEB-INF\web.xml文件;在该文件的 最上面添加如下内容:

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
?"http://java.sun.com/dtd/web-app_2_3.dtd">

重新启动错误消失。

3)错误为Deployment descriptor "/WEB-INF/
web.xml" is malformed. Check against the DTD: The content of element type "t
ag" must match "(name,tag-class,tei-class?,body-content?,display-name?,small-ico
n?,large-icon?,description?,variable*,attribute*,example?)". (line 40, column 11
).>

错误原因及解决办法:由于weblogic8在解析xml文件时,对xml文件的内容格式要求特别严格;必须按照xml格式的要求

及排列顺序,所以必须重新组织其内容,一定严格要注意顺序,如 <servlet>就不能放在<servlet-mapping>后面。

4)错误java.lang.SecurityException: Prohibited package name: java.lang

错误原因及解决办法:访问包可视的方法或变量错误;这个错误恨少见,一直没有想明白其中缘由;后来只能采用直接引用jar文件的法子解决该问题;

i)利用opencms自带的build.xml文件,运行ant jar命令;生成opencms.jar和webdav.jar两个文件

ii)在startWebLogic.cmd添加如下内容,引进上面的2个jar文件

set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\build\opencms.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\build\webdav.jar

大家有兴趣的可以参考《透视JAVA——反编译、修补和逆向工程技术》这本书的$4.2章的内容,如果找到更好的解决方法也请来信告知,谢谢~_~

5)其它注意事项,在eclipse下最好采用和运行weblogic一样的jdk版本进行编译,否则会出现文件访问版本不一致的bug

7.启动startWebLogic.cmd,在浏览器中输入http://127.0.0.1:7001/opencms/setup/

? 如果在出现下面的画面,则恭喜你,成功了!

利用反射取得泛型信息:【上一篇】
javascript之DOM技术(二):【下一篇】
【相关文章】
  • Hibernate3与WebLogic8集成
  • Eclipse2.1+weblogic8.1+mysql开发工具安装步骤:(for windows os)
  • OpenCms_Excel
  • Linux AS3安装配置weblogic8.1.3
  • weblogic8.1 sp2 license问题
  • 关于Weblogic8.1配置的总结 新手可以看看,作者总结了一些东西
  • OpenCms 使用初步印象
  • AIX5.3+HACMP+Oracle9I+Weblogic8.1安装实施报告
  • 关于opencms把sites目录中的文件根据URL显示到网页的解决方法
  • opencms开发常见问题,欢迎大家补充
  • 【随机文章】
  • 关于路由的基础知识-路由算法
  • 取证
  • 测试方法的辩证统一(之三)
  • HP-UX命令(收集中)
  • 给20年后的自己发封邮件吧!
  • 内核参数意义
  • 遍历所有session并取值
  • 用PHP将数据导入到Foxmail
  • linux多线程下载客户端
  • 设计模式之C#实现(二)---Builder
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.