配置MyEclipse开发Webtop的开发环境

在EMC的Documentum中,在目前的6.5版本中,使用WDK来开发Webtop是标准的方式,但是WDK相当的庞大的复杂,只看开发文档是很难理解WDK的,所以通过Debug的方式来调试WDK就成了比较迫切的需求,经过一天的尝试终于配置成功,发出来与大家分享,避免其它人再走弯路。

一、安装Tomcat并部署Webtop

1、安装Tomcat6.0

这里将Tomcat安装在C:\Tomcat 6.0中。

2、部署Webtop6.5

(1)将下载的Webtop6.5复制到C:\Tomcat 6.0\webapps\中,虚拟目录名为webtop。

(2)修改webtop\WEB-INF\classes下面的dfc.properties文件,使其可以找到Documentum的Repository,如在我的机器上修改为:

dfc.docbroker.host[0]=WU
dfc.docbroker.port[0]=1489

dfc.globalregistry.password=KmYwfPemMrpphRf5Lwazxg==
dfc.globalregistry.repository=documentum
dfc.globalregistry.username=dm_bof_registry

dfc.session.allow_trusted_login=false

在开发测试环境中,Content Server与Web服务器安装在同一台机器时,也可以将dfc.properties引用到Content Server的配置,如下所示:

#include d:\Documentum\config\dfc.properties
dfc.session.allow_trusted_login=false

3、配置Tomcat

(1)标签库支持

在未设置标签库支持时,打开网站时会提示:“com.documentum.web.form.control.TagPoolingEnabledException: JSP tag pooling is not supported. Please refer to the product deployment guide for instructions on turning off tag pooling for the application server.”

通过查看相关文档,了解到需要修改webtop\WEB-INF中的web.xml文件,在其中增加一个servlet节,如下所示:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>enablePooling</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
修改后重启Tomcat服务,就可以看到Webtop的界面了(注:如果错误依旧,请删除C:\Tomcat 6.0\work中的所有文件): image
(2)JVM性能设置如果未配置Java虚拟机的性能的相关参数,在运行Webtop时可能会发生内存溢出的情况,这时需要在Tomcat中设置Java虚拟机的内存等相关参数。打开开始菜单中的程序中的“Apache Tomcat 6.0”、“Configure Tomcat”,在弹出的窗口中选择Java页,然后面下面的Java Options中添加如下参数

-Xms512m
-Xmx512m
-XX:PermSize=256M
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=48m

其中各项参数可根据机器的实际情况进行取舍,但是在32位的机器中-Xms512m内存设置和-Xmx512m超过1.5G左右时会报错,需要进行尝试性设置,具体需要参考网上的其它文章。

二、配置开发环境

1、安装JDK1.5

在目前的WDK 6.5SP3中,必需使用JDK1.5,相应的JRE也要使用1.5,否则会出现兼容性错误,我在试验中就曾出现由于使用JRE6,从而在WDK的源文件中实现了ResetSet接口的类需要实现大量的抽象方法,在使用了JRE5以后才解决这个问题。

2、安装MyEclipse

3、设置MyEclipse

(1)打开MyEclipse,并设置好工作空间后,点击“Windows->Preferences”、“Java->Compiler->Building”

,取消选择“Scrub output folders when cleaning projects”,如图所示:

image

点击Installed JREs,点击Add按钮后,在JRE home directory中输入JDK1.5的路径,如下图所示:

image

点击OK按钮后,在返回的列表中确定只使用JRE1.5。

(2)打开MyEclipse,并设置好工作空间,点击“File”、“New”、“Java Project”,在出现的窗口中进行如图所示的设置:

image

点击Next后,不要设置任何的源文件夹,并保持默认的输出目录为:webtop/WEB-INF/classes,如图所示:

image

点击Finish。

在左侧的Navigator中的Webtop中点击右键,在弹出的菜单中选择“New”、“Folder”,在弹出的窗口中进行如下设置:

image

其中文件夹名是任意的,在Advanced中需要将此文件夹链接到webtop\WEB-INF\classes中,后面将会对此文件夹进行设置,使其作为项目的Build Path中引入的Library。

点击“Finish”按钮创建该文件夹。

(2)设置Build Path

右击“webtop”,点击“属性”,在弹出的窗口中,点击“Java Build Path”,如果当前的配置尚未引入\WEB-INF\lib目录中的包,则可以手工引入。

在添加了DFC的相关Jar包后,还需要添加servlet和jsp的相关Jar包,这两个Java包要使用Tomcat中的,在我的机器中这两个Jar包在C:\Tomcat 6.0\lib中,如图所示:

image

点击“打开”后,在返回的窗口中点击“Add Class Folder”按钮将上面创建的wdkClasses目录添加进来,如图所示:

image

点击OK后,在返回的窗口中点击“OK”退出设置。

现在通过Ctrl+B进行Build,可能会发生错误,错误的信息会很奇怪,出错的信息是:The type Comparable is not generic; it cannot be parameterized with arguments <String>。解决这个问题的方法是在Java Build Path中的Order and Export,将JRE System Library 提到最上面点勾选,如图所示:

image

点击OK后,再次编译应该会没有问题了。

(3)引入WDK中的源代码

在WDK开发包中,EMC提供了部分的源代码,这部分源代码对于我们进行调试来说是相当重要的,这需要将它们引入到MyEclipse环境中。

在左侧的Webtop目录中的webcomponent中创建src文件夹,如图所示:

image

将下载的WDK文件夹中的wdk.war\webcomponent中的src目录中的所有文件粘贴点到上面的src目录中:如图所示:

image

为了能够让MyEclipse能够编译这些文件,需要在Java Build Path中Source页中,点击Add Folder按钮,并在弹出的窗口中选择webcomponent下面的src,如图所示:

image

现在通过Ctrl+B来Build项目,会发现如下错误:The project was not built since its build path is incomplete. Cannot find the class file for javax.portlet.PortletRequest. Fix the build path then try building this project。这说明缺少相应的Portlet的Jar包,虽然我们不是Porltet的环境,但是WDK的源码的环境需要此Jar包,所以要引入此Jar包,此Jar包是:portlet-api-1.0.jar。在Java Build Path的Libraries页中点击“Add External JARs”引入此Jar包,如图所示:

image

再次进行Build后应该没有错误了。

在下载的WDK文件夹中也有个src文件夹,这里面包含了控件相关的部分源码,要引入这些源码需要在左侧的目录树中的wdk文件夹中点击右键,“New“、“Folder”,创建一个src文件夹,如图所示:

image

将下载的WDK中的src中的文件复制到上面创建的src目录中,如图所示:

image

同样,需要在Java Build Path中的Source页中如webcompoent一样将其加入,使MyEclipse可以对其进行编译,在我的机器中编译是发现DateTimeTag.java文件发生编译错误,处理后发现是注释存在问题,将注释删除即可。

如果发现大量的错误,可以尝试在MyEclipse的webtop项目中右击,在Resources页中将“Text file encoding 修改为UTF-8”,如下图所示:

(4)在MyEclipse中加入Tomcat服务器

在Window菜单中的Preferences中点击My Eclipse、Servers、Tomcat、6.x中,进行如下图的设置

image

点击OK按钮保存设置

(5)设置自定义的环境并进行调试

在WDK开发中,自定义的配置及代码是需要放置在Custom文件夹下的,所以需要在Custom文件夹中创建src文件夹,并像上面一样将其放在Java Build Path的Source中,将加入WDK Tutorial的Hello Webtop进行测试,如下图所示:

image

在HelloWebtop.java中设置断点,并在My Eclipse中开启Tomcat(必需在My Eclipse中开启)后,当运行到Hello_world.jsp时,会进入到断点,如下图所示:

 

image

到此测试配置环境成功。

注:

1.如果遇到大量的编译错误,可能是因为Class文件的原因。此时用原始的WEB-INF\classes\com\documentum覆盖开发环境下的同目录,然后在MyEclipse中将wdkclass删除,然后再新建link后,再重新放到Build Path中的Library中。

2.The type Comparable is not generic; it cannot be parameterized with arguments <E>错误:在Order and Export中将JRE选中,并放到最顶。

3.如果加完Tomcat,并启动时出错,检查在MyEclipse中该Tomcat是否使用的是1.5的SDK

 

posted @ 2010-06-21 20:14  吴东雷  阅读(1967)  评论(2编辑  收藏  举报