下面阐述的是如何使一个Eclipse Web Tools Platform (WTP) Dynamic Web应用程序支持Apache Beehive其中使用的开源工具包括Eclipse Web Tools Platform (WTP) MJava Development Tools Annotation Processing Tool (JDT APT) beta和Apache Beehive
前提条件
您已经启动了Eclipse WTP M和JDT APT Beta并且安装了Apache Beehive 否则请利用以下链接来设置环境
Eclipse SDK
WTP MM/
JDT APT beta
Apache Beehive cgi
WTP Dynamic Web项目设置
创建新的Dynamic Web项目
我们将通过New Project Wizard(新项目向导)创建一个WTP Dynamic Web项目并对该项目加以调整以便支持Apache Beehive打开Project Wizard然后利用以下信息填写Wizard中的相关值
Project WizardWeb > Dynamic Web Project
Name[此处填写项目名称]
Show Advanced >>[选中]
Target runtime > NewBEA > BEA WebLogic Server v
使用默认的JRE
Application Server Directory[填写WLS的安装位置]
Module Version
Add module to an EAR application不选
(我们不想把这个Web应用程序添加到EAR)
Context Root[使用默认值]
Source Folder src
Web Content folderweb
Add support for annotated Java classes选中
Support Multiple Modules per project不选
新的Dynamic Web Project Wizard如下所示
educitycn/img_///jpg > 导入Beehive Support Ant构建文件
所提供的Beehive Support Ant构建文件位于一个zip存档文件中有两种方法可以将该文件的内容导入新的Web项目
利用Eclipse的导入功能
将文件内容解压到Web App项目目录下
将下面的文件保存在您的系统上setup_beehivezip
然后右击Package Explorer View中的Web项目选择Import > Archive file在下面的例子中该文件保存在C:\Temp目录下
educitycn/img_///jpg > 将Web project/setupbeehive文件夹中的Ant构建文件添加到AntView
现在Beehive Support Ant构建文件已就绪我们可以将setupbeehive/buildxml文件添加到Ant View这样一切都准备好了您会看到如下界面
educitycn/img_///jpg > 打开NavigatorView
我们要查看一下文件系统的内容以便更好地了解WTP项目的构成最好的方法是利用Navigator View您会看到如下界面
educitycn/img_///jpg >请注意以圆点开头的所有文件和文件夹这些文件和文件夹是EclipseWTP和其它插件用来管理项目的行为和配置的当进一步配置该项目时可以定期打开这些文件查看所做的更改对它们的影响
应特别注意deployables文件夹该文件夹包含部署一个已构建的Web应用程序所必需的结构例如如果我们要设置开发环境以便使用Tomcat该目录即为在Tomcat上部署的结构WebLogic Server 则有一点不同要根据该文件夹中的内容创建一个可部署的jar文件然后将该jar文件移至WebLogic Server的autodeploy文件夹中
检验buildxml的属性
您需要确保buildxml文件针对所需的环境进行了配置需要验证的属性标记是beehivehome和projectname如果新的Dynamic Web项目没有使用推荐的值您可能还需要查看projectsrc和projectweb属性这些属性必须正确设置构建文件才能工作
运行enablebeehive Ant目标
enablebeehive Ant目标执行多种任务它将部分netuiblank Beehive示例复制到Web项目以及提供支持的Beehive和Controls库中
从Ant View运行enablebeehive Ant目标并查看结果在下面的界面中用黄色突出显示了由该Ant目标文件添加或受其影响的文件
注意如果在运行Ant任务之后您的View没有更新请手动刷新Web项目
educitycn/img_///jpg >如果您希望了解Ant构建文件执行的操作最好是打开构建文件浏览其内容您会发现它所执行的操作与Beehive Tools(Beehive Ant文件和任务)相同只不过是以一种用于Eclipse WTP Dynamic Web Project的方式
更改Web项目的默认输出文件夹
当设置Dynamic Web Project时请将/bin文件夹作为默认输出文件夹如前所述deployables文件夹包含可部署的/可运行的组件因此我们需要更改该设置
打开Web项目Properties找到Java Build Path然后选中您可以通过手动输入或者使用Browse按钮进行更改您会看到如下界面
educitycn/img_///jpg > 更改Java Compiler JDK Compliance level以支持注释
除非您已将整个workspace的JDK Compliance level更改为否则该项目就不支持注释我们知道注释对于Apache Beehive十分重要因此我们需要更改JDK Compliance level
打开Web项目Properties找到Java Compiler然后选中选择Enable project specific settings然后将Compiler compliance level设置为您会看到如下界面
educitycn/img_///jpg > 查看deployables文件夹
现在我们已经快要在Eclipse中完成一个自构建的Beehive项目了让我们看一下deployables文件夹的内容记住您需要在Navigator View中进行查看deployables文件夹内容如下所示
educitycn/img_///jpg >注意部署到Web服务器所需要的一切东西几乎都在该文件夹中有趣的是其中一些经过汇编的Page Flow(SharedFlowclass和Controllerclass)包含有注释但提供支持的struts配置却不见了即使Page Flows经过编译也不能完全正常运行而这正是JDT APT配置发挥作用的时候在下面一节中我们将配置JDT APT
为Beehive配置JDT APT
您可能注意到了Ant构建文件包含一个称为setupjdtapt的目标这是一种自动执行下面步骤的方法但是如果您是初次使用Beehive创建Web应用程序建议您执行下面的步骤以便可以更好地了解如何为Apache Beehive配置JDT APT
在Web项目中创建build/apt/src文件夹
配置JDT APT将生成的所有源文件放入build/apt/src文件夹最好提前创建该文件夹
将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如下所示
educitycn/img_///jpg >关闭Properties窗口之后您会在Package Explorer View中看到以下界面
educitycn/img_///jpg > 配置Web项目的Annotation Processing
JDT APT有两个配置点第一个就是Annotation Processing设置该配置点允许您设置保存生成的源文件以及处理键/值对的目录键/值对被交给处理器以便通知处理器source rootcontent rootoutput root等等都在何处
打开Web项目的Properties在树型目录结构中找到Java Compiler > Annotation Processing节点并选中然后利用以下信息进行配置
注意您需要将MyWebApp替换为自己的项目名称
Enable project specific settings:选中
Enable annotation processing:选中
Generated source directory:build/apt/src
Processor Option weboutputroot:%ROOT%/MyWebApp/deployables/MyWebApp
Processor Option ntentroot: %ROOT%/MyWebApp/web
Processor Option websourceroots: %ROOT%/MyWebApp/src
您会看到如下界面
educitycn/img_///jpg >将weboutputroot设置为%ROOT%/MyWebApp/deployables/MyWebApp而非%ROOT%/MyWebApp/web的原因是在如何在当前的WTP中进行构建方面存在着一个问题如果您使用的是第二种设置struts配置就不会将其配置到deployables文件夹中但是由于在项目文件(例如web/WEBINF/classes)中不需要struts配置则实际上将该设置配置到deployables文件夹更有意义
配置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 JarsC:\apachebeehive\lib\common\velocityjar
Add External JarsC:\apachebeehive\lib\common\velocitydepjar
Add External JarsC:\apachebeehive\lib\controls\beehivecontrolsjar
Add External JarsC:\apachebeehive\lib\netui\beehivenetuicompilerjar
您会看到如下界面
educitycn/img_///jpg > 在Web项目中运行Run Project > Clean并查看结果
现在我们已配置了JDT APT接下来需要验证构建过程是否能够正常工作我们通过在Web项目中执行清除来执行完整构建然后我们在Navigator View中查看结果
如果Navigator View还没有打开则立即打开展开Web项目中的deployables文件夹选择Project > Clean菜单项并且只清除Web项目清除完成之后您会在Navigator View中看到如下界面
educitycn/img_///jpg > 完成配置
至此我们已完成WTP Dynamic Web应用程序的Beehive配置我们可以添加Page FlowJava Control等等并让Eclipse/Beehive自动构建必要的二进制文件和配置文件
您可以随意探索Navigator View查看deployables文件夹和_pageflow文件夹中所生成的内容您可以打开某些文件如strutsconfigxml查看所生成的内容