下面阐述的是如何使一个Eclipse Web Tools Platform (WTP) Dynamic Web应用程序支持Apache Beehive。其中使用的开源工具包括:Eclipse 3.1.1、Web Tools Platform (WTP) 1.0M8、java Development Tools Annotation PRocessing Tool (JDT APT) beta和Apache Beehive 1.0。
前提条件
您已经启动了Eclipse 3.1.1、WTP 1.0M8和JDT APT Beta,并且安装了Apache Beehive 1.0。否则,请利用以下链接来设置环境:
Eclipse SDK 3.1.1:http://www.eclipse.org/downloads/index.php
WTP 1.0M8:http://download.eclipse.org/weBTools/downloads/drops/S-1.0M8-200509230840/
JDT APT beta:http://www.eclipse.org/jdt/apt/introToAPT.Html
Apache Beehive 1.0:http://beehive.apache.org/releases/release-1.0.cgi
WTP Dynamic Web项目设置
1. 创建新的Dynamic Web项目
我们将通过New Project Wizard(新项目向导)创建一个WTP Dynamic Web项目。并对该项目加以调整,以便支持Apache Beehive。打开Project Wizard,然后利用以下信息填写Wizard中的相关值:
Project Wizard:Web - Dynamic Web Project
Name:[此处填写项目名称]
Show Advanced [选中]
Target runtime - New...BEA - BEA WebLogic Server v9.0
使用默认的JRE
application Server Directory:[填写WLS的安装位置]
Module Version:2.4
Add module to an EAR application:不选
(我们不想把这个Web应用程序添加到EAR)
Context Root:[使用默认值]
Source Folder: src
Web Content folder:web
Add support for annotated Java classes:选中
Support Multiple Modules per project:不选
新的Dynamic Web Project Wizard如下所示:
2. 导入Beehive Support Ant构建文件
所提供的Beehive Support Ant构建文件位于一个zip存档文件中。有两种方法可以将该文件的内容导入新的Web项目:
1. 利用Eclipse的导入功能
2. 将文件内容解压到Web App项目目录下
将下面的文件保存在您的系统上:setup_beehive.zip
然后右击Package EXPlorer View中的Web项目,选择Import... - Archive file。在下面的例子中,该文件保存在C:\Temp目录下:
3. 将Web project/setup.beehive文件夹中的Ant构建文件添加到AntView
现在,Beehive Support Ant构建文件已就绪,我们可以将setup.beehive/build.xml文件添加到Ant View,这样一切都预备好了。您会看到如下界面:
4. 打开NavigatorView
我们要查看一下文件系统的内容,以便更好地了解WTP项目的构成。最好的方法是利用Navigator View。您会看到如下界面:
请注重以圆点开头的所有文件和文件夹。这些文件和文件夹是Eclipse、WTP和其它插件用来治理项目的行为和配置的。当进一步配置该项目时,可以定期打开这些文件,查看所做的更改对它们的影响。
应非凡注重.deployables文件夹。该文件夹包含部署一个“已构建的”Web应用程序所必需的结构。例如:假如我们要设置开发环境以便使用Tomcat,该目录即为在Tomcat上部署的结构。WebLogic Server 9则有一点不同,要根据该文件夹中的内容创建一个可部署的.jar文件,然后将该.jar文件移至WebLogic Server的autodeploy文件夹中。
5. 检验build.xml的属性
您需要确保build.xml文件针对所需的环境进行了配置。需要验证的属性标记是beehive.home和project.name。假如新的Dynamic Web项目没有使用推荐的值,您可能还需要查看project.src和project.web属性。这些属性必须正确设置,构建文件才能工作。
6. 运行01.enable.beehive Ant目标
01.enable.beehive Ant目标执行多种任务。它将部分netui-blank Beehive示例复制到Web项目以及提供支持的Beehive和Controls库中。
从Ant View运行01.enable.beehive Ant目标并查看结果。在下面的界面中,用黄色突出显示了由该Ant目标文件添加或受其影响的文件:
注重:假如在运行Ant任务之后,您的View没有更新,请手动刷新Web项目。
假如您希望了解Ant构建文件执行的操作,最好是打开构建文件,浏览其内容。您会发现它所执行的操作与Beehive Tools(Beehive Ant文件和任务)相同,只不过是以一种用于Eclipse WTP Dynamic Web Project的方式。
7. 更改Web项目的默认输出文件夹
当设置Dynamic Web Project时,请将/bin文件夹作为默认输出文件夹。如前所述,.deployables文件夹包含“可部署的/可运行的”组件。因此,我们需要更改该设置。
打开Web项目Properties,找到Java Build Path,然后选中。您可以通过手动输入或者使用Browse...按钮进行更改。您会看到如下界面:
8. 更改Java Compiler JDK Compliance level以支持注释
除非您已将整个workspace的JDK Compliance level更改为5.0,否则该项目就不支持注释。我们知道注释对于Apache Beehive十分重要,因此我们需要更改JDK Compliance level。
打开Web项目Properties,找到Java Compiler,然后选中。选择Enable project specific settings,然后将Compiler compliance level设置为5.0。您会看到如下界面:
9. 查看.deployables文件夹
现在,我们已经快要在Eclipse中完成一个自构建的Beehive项目了。让我们看一下.deployables文件夹的内容。记住,您需要在Navigator View中进行查看。.deployables文件夹内容如下所示:
注重,部署到Web服务器所需要的一切东西“几乎”都在该文件夹中。有趣的是,其中一些经过汇编的Page Flow(SharedFlow.class和Controller.class)包含有注释,但提供支持的struts配置却不见了。即使Page Flows经过编译,也不能完全正常运行,而这正是JDT APT配置发挥作用的时候。在下面一节中,我们将配置JDT APT。
为Beehive配置JDT APT
您可能注重到了,Ant构建文件包含一个称为02.setup.jdt.apt的目标。这是一种自动执行下面步骤的方法。但是,假如您是初次使用Beehive创建Web应用程序,建议您执行下面的步骤,以便可以更好地了解如何为Apache Beehive配置JDT APT。
1.在Web项目中创建build/apt/src文件夹
配置JDT APT,将生成的所有源文件放入build/apt/src文件夹。最好提前创建该文件夹。
2. 将build/apt/src文件夹作为源文件夹添加至Java Build Path
新创建的源文件夹需要作为源文件夹放入Java Build Path。这样,Eclipse就会优先处理生成的源文件。
打开Web项目Properties,找到Java Build Path并选中。然后在Source选项卡下,选择Add Folder...按钮,找到并选中build/apt/src文件夹。请确定只选中了src文件夹而没有选中父文件夹(例如build/apt)。您的项目Properties如下所示:
关闭Properties窗口之后,您会在Package Explorer View中看到以下界面:
3. 配置Web项目的Annotation Processing
JDT APT有两个配置点,第一个就是Annotation Processing设置。该配置点答应您设置保存生成的源文件以及处理键/值对的目录。键/值对被交给处理器,以便通知处理器source root、content root、output root等等都在何处。
打开Web项目的Properties,在树型目录结构中找到Java Compiler - Annotation Processing节点并选中,然后利用以下信息进行配置:
注重:您需要将MyWebApp替换为自己的项目名称。
Enable project specific settings:选中
Enable annotation processing:选中
Generated source directory:build/apt/src
Processor Option web.output.root:%ROOT%/MyWebApp/.deployables/MyWebApp
Processor Option web.content.root: %ROOT%/MyWebApp/web
Processor Option web.source.roots: %ROOT%/MyWebApp/src
您会看到如下界面:
将web.output.root设置为%ROOT%/MyWebApp/.deployables/MyWebApp而非%ROOT%/MyWebApp/web的原因是,在如何在当前的WTP中进行构建方面,存在着一个问题。假如您使用的是第二种设置,struts配置就不会将其配置到.deployables文件夹中。但是,由于在项目文件(例如web/WEB-INF/classes)中不需要struts配置,则实际上将该设置配置到.deployables文件夹更有意义。
4. 配置Web项目的Factory Path
这是JDT APT的第二个配置点。它可以指定用于定位注释处理器的.jar文件等等。共有四个.jar文件需要添加至Factory Path配置以便支持Apache Beehive。
打开Web项目的Properties,在树型目录结构中找到Java Compiler - Annotation Processing - Factory Path节点并选中。然后利用以下信息进行配置:
Enable project specific settings: 选中
Add External Jars...C:\apache-beehive-1.0\lib\common\velocity-1.4.jar
Add External Jars...C:\apache-beehive-1.0\lib\common\velocity-dep-1.4.jar
Add External Jars...C:\apache-beehive-1.0\lib\controls\beehive-controls.jar
Add External Jars...C:\apache-beehive-1.0\lib\netui\beehive-netui-compiler.jar
您会看到如下界面:
5. 在Web项目中运行Run Project - Clean...并查看结果
现在,我们已配置了JDT APT,接下来需要验证构建过程是否能够正常工作。我们通过在Web项目中执行清除来执行完整构建。然后我们在Navigator View中查看结果。
假如Navigator View还没有打开,则立即打开,展开Web项目中的.deployables文件夹。选择Project - Clean...菜单项并且只清除Web项目。清除完成之后,您会在Navigator View中看到如下界面:
6. 完成配置
至此,我们已完成WTP Dynamic Web应用程序的Beehive配置。我们可以添加Page Flow、Java Control等等,并让Eclipse/Beehive自动构建必要的二进制文件和配置文件。
您可以随意探索Navigator View,查看.deployables文件夹和_pageflow文件夹中所生成的内容。您可以打开某些文件,如struts-config.xml,查看所生成的内容。