利用 Eclipse IDE 为 Lotus Notes/Domino 开发 Java 代理。下载并安装 Eclipse,然后 解使用 Eclipse 创建项目、调试 Java、重构代理以及将代理导入 Domino Designer 何等轻松。
Java 和 Lotus Notes/Domino 理想 开发组合。将它们组合 起,可以使 Notes/Domino 开发 员充分利用其常用开发环境 Domino Designer 中目前可用 所 Java 代码和包。
Eclipse 大概 最好 集成开发环境之 ,它提供 非常丰富 特性,其中包括上下文相关操作、视图、富调试程序(rich debugger)和重构。重构可以将 Java 代码重新命名、移动、添加和提取到新 方法中,以减轻清除初始编码尝试 工作量,使其简洁易读,并使其成为您要向其他开发 员显示 代码。对许多开发工作来说,重构 Eclipse 最好 项功能。
调试 Lotus Notes/Domino 7 中 Java 代理 能力,现 就可以协调 Lotus Notes/Domino 和 Eclipse,为 Notes/Domino 应用程序创建设计优良 可调试 Java 代理项目。
进行任何 Lotus Workplace 开发都需要确实 解 Eclipse 如何工作 。Lotus Notes/Domino 7 提供 个现 开始学习 Eclipse 极好理由,既将它用于 Notes/Domino 些操作,增加将来也可以应用于 Lotus Workplace 项目 技能。
本文讲述 如何安装 Eclipse,如何为 Lotus Notes/Domino 创建项目,以及如何将这个项目导入 Domino Java 代理中,然后调试该代理。本文还提供 调试这些代理 些技巧和可能遇到 陷阱。
安装 EclipseWebSphere Studio Application Developer 基于 Eclipse ,所以如果安装 Eclipse,就可以随同本文 解如何使用 WebSphere Studio Application Developer。如果没 安装 Eclipse 或 WebSphere Studio Application Developer,那么您需要先获得这两个应用程序。Eclipse 可以从 Eclipse 基础网站免费下载。WebSphere Studio Application Developer 试用版也能找到。
下载 Eclipse 或 WebSphere Studio Application Developer。Eclipse 很容易安装;Eclipse Web 站点上 安装说明。下载 用于 Windows zip 文件之后,需要运行 eclipse.exe 文件。WebSphere Studio Application Developer 比较复杂。请参考相应文档,以获得安装说明。
注意:下面 步骤讲述 Eclipse 3.0。如果您安装 Eclipse 其他版本,可能会发现用户界面以及步骤 本文中讲述 所 同。
Eclipse 和 Rational ClearCase 源代码控制如果要集成 Eclipse 和 Rational ClearCase 源代码控制系统,可以下载并安装 IBM Rational ClearCase SCM adapters for Eclipse 2.11。否则,默认源代码控制系统 CVS。
Eclipse 中创建新 Java 项目安装 Eclipse 和所 插件后,现 就可以创建项目,并以此作为 Notes/Domino 工作 开始。必须 个项目内存储所 Java 代码。 工作区中可以 多个项目。 计算机中还可以 多个工作区,可以使用 eclipse.exe –data 开关来指向 同 工作区。
要创建新 Java 项目,需要打开 Eclipse,选择 File - New - Project。然后 New Project 对话框中选择 Java Project,最后单击 Next。
图 1. New Project 对话框
输入项目名称,然后单击 Finish。创建 项目后,要更改项目属性中 路径,使其指向 Notes.jar 文件。右击 Package Explorer 附签中 项目并选择 Properties。 Properties 对话框中,选择 Java Build Path,然后选择 Libraries 附签。单击 Add External JARs 按钮,导航到 Notes.jar 文件,以将其添加到类路径中。
图 2. Properties 对话框
添加 JAR 文件之后,可以使用项目中 Notes Java API 定义 类和接口。Domino Designer on-line help 中 关于 Notes Java API 文档。
接着,需要下载 Sun 1.3.1 JRE。或者,如果计算机上安装 Domino 服务器,可以使用该服务器 JVM。Notes 客户机和 Domino 服务器应该 匹配 ,以确保构建项目所用 JVM 从服务器任务或代理服务器任务调用时代理和程序将运行 JVM 相同。
Lotus Notes/Domino 当前版本使用 Java 1.3.1,所以必须安装该软件以使用正确 版本来构建项目。(Lotus Notes/Domino 7 使用 JDK 1.4。)虽然许多 Java 代理和程序都可以编译,而且没什么问题,但可能会陷入另 些问题,比如使用 个 JDK 版本构建程序,却 另 个版本上运行。如果安装 Eclipse 3.0,因为它 基于 Java 1.4.2 ,所以需要删除 JDK System Library 并创建 个新库来指向 JDK 1.3.1 安装。要进行这项操作,需要选中 Libraries 附签 Properties 对话框中 JRE System Library,并单击 Remove。
要添加新库,可以单击 Add Library 按钮。 Add Library 对话框中,选择 JRE System Library,然后单击 Next。选择 Alternative JRE 选项(如果尚未选择)。然后单击 Installed JREs 按钮。单击 Add 并完成 Add JRE 对话框来添加 JDK 1.3.1。
图 3. Add JRE 对话框
保存对项目 更改。
创建第 个 Java 代理Domino Designer 开始时会自动为您填充第 个 Java 代理。 过,Eclipse 会这样,所以它需要创建新类,来实现正确 AgentBase 接口,获取 Domino 会话和 agentcontext 对象。可以使用 Domino Designer 中 代码作为指导。
图 4. Domino Designer Java 代理
将骨干 Java 代码从 Domino Designer 直接复制到 Eclipse 项目中 新类中。 们建议您创建新 包,并于其中存储代理。这将 助于组织项目,并且这符合 般 Java 设计原则。要创建新 包,可以选择 File - New - Package。
图 5. New Java Package 对话框
们创建名为 com.ibm.NotesJava.agents 包,因为 IBM 工作,并且这 们 Notes Java 项目。 们将 这个包中存储代理。可以看到 其他常见包 com.sun.*、org.apache.* 和核心 Java 语言函数 java.lang.*。至于如何组织包 整套原则,但这 本文讨论范围内,重要 要将代理和代码放 默认包中,因为这个包杂乱且 专业。
现 已经 新包,所以可以创建新 Java 类。要 Eclipse 中创建新 Java 类,可以选择 File – New – Class。Eclipse 效率非常高,所以如果已经选择 包,那么 Eclipse 将填充包名称。可以 这里添加名称和超类 。对于 Notes 代理,超类必须始终 lotus.domino.AgentBase。 Domino Designer 中,该操作 自动进行 ,但 Eclipse 中,必须手工完成这项操作。
图 6. New Java Class 对话框
创建类之后,就可以输入剩余 代理代码,从而使其看起来 Domino Designer 示例中 代理 样。
图 7. Eclipse 中 JavaAgent
构建代理时,将 包目录中创建 JavaAgent.class 文件。现 已经 类文件, 们可以将其导入 Domino Designer 中 代理中,并 Eclipse 中管理代码。 Domino Designer on-line help 中,请参阅“Import Java”主题,以获取更多信息。 将文件导入代理中之后,当调用该代理时,可以运行已经编写 Java 代码。现 就可以使用 Eclipse 调试程序来调试该代码 。
调试 Java 代码Eclipse 封装 Java 调试程序,使您能够遍历和更改变量,监视项并 Java 代码中添加断点。第 步 调试模式下加载 Lotus Domino 中 JVM。这样可以强迫 JVM 停止,等到附加 调试程序后再继续进行其操作。Lotus Notes/Domino 6 或之后 版本中包含这项功能,要启用该功能,可以添加 Notes.ini 变量 JavaEnableDebug=1,然后重新启动服务器。
下 阶段 服务器上运行代理,并等待服务器冻结代理 执行。 冻结代理 执行之后,JVM 将等待调试程序附加到 TCP/IP 端口 9788。
打开 Eclipse 和项目。选择 Run - Debug 来打开 Debug 对话框,然后选择 Remote Java Application,单击 New 创建新 调试会话。最后, Connect 附签中,指定服务器 主机名称,如果服务器 所调试 计算机上,则指定本地主机 名称。
图 8. Debug 对话框
对于高级用户,可以按如下所示改变端口号和调试设置:
JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000
Suspend=n 没 冻结服务器来等待调试连接,所以可以错过代理 启动。该调试设置允许您将额外参数传送给服务器中 JVM 调试程序。如果您 自己喜欢 设置,也可以 这里使用。
最好 代理代码中已经设置 断点。当 调试模式下使用 Eclipse 将代码附加到服务器时,它应该会自动断开,并允许您检查变量,设置其他断点,执行需要使用 其他所 调试任务。
其他 Eclipse 指针现 Eclipse 中已经 项目,它提供 Domino Designer 内大型 Java 项目所没 许多增强开发和组织任务。Domino Designer 适用于较小 Java 任务,比如获取或设置多个值或简单 报表。 过, 旦开始将代码分入 同 包、定义接口并将工作委托给其他 ,项目管理会变得更复杂。
Eclipse 包含用于协同工作 内置工具,其中包括 CVS 源代码控制集成。Rational ClearCase 源代码控制插件允许您附加到 ClearCase 中存储 Eclipse 项目中。它提供 自动或即时 代码检入和检出、简洁 修饰符,从而可以轻松地标识源代码控件中 对象及其状态。
Eclipse 中另 项非常 用 功能 可以重构项目。例如,可以选择代码 部分并将其移至它自己 方法中。如果您 个非常长 方法,想将其分入较小 步骤中,那么可以将这项操作自动化,Eclipse 能够帮助您实现该自动化。下列代码片断 个重构示例:
Initial functionpublic void NotesMain() {try {Session session = getSession();AgentContext agentContext = session.getAgentContext();Database db;// I am running this, use the server - or it can assume it is localif (session.getUserName().equals("CN=Ian Connor/OU=Westford/O=IBM") == true)db = session.getDatabase("support/iris","support/retain.nsf");elsedb = session.getDatabase("","support/retain.nsf");System.out.print(db.getFileName());} catch(Exception e) {e.printStackTrace();}}可以选择要移至其自己 函数 代码部分,然后选择 Refactor - Extract Method。这将确定需要传送 参数和应该返回 数据。您所需要做 就 选择方法名称。然后可以预览更改,查看要进行 操作。这将 助于您更好地组织代码,使试图 解代码 其他 更容易维护代码。正如所 开发 员都知道 ,包含较短函数 、简洁 、组织良好 代码基数(code base)要比非常长 、似乎 会结束 1000 行函数容易使用得多。
public void NotesMain() {try {Session session = getSession();AgentContext agentContext = session.getAgentContext();Database db;db = getRetainDatabase(session);System.out.print(db.getFileName());} catch(Exception e) {e.printStackTrace();}}private Database getRetainDatabase(Session session) throws NotesException {Database db;// I am running this, use the server - or it can assume it is localif (session.getUserName().equals("CN=Ian Connor/OU=Westford/O=IBM") == true)db = session.getDatabase("support/iris","support/retain.nsf");elsedb = session.getDatabase("","support/retain.nsf");return db;} 重构 所 开发工作 基础部分。 们总 愿意立即共享代码 第 个 cut。 使用新 API 或新 工作方式时更 如此。先 花费大量时间编写 小部分代码,以测试其如何工作,然后当可以运行该代码时,将停下来适当组织代码,使查看该代码 能够看懂。
结束语Eclipse Notes 开发 员可以 其当前和将来项目中使用 非常 用 平台。它可以帮助开发 员更好地组织项目, 小组中 其他 共享代码,并更好地利用 Java 设计技术,如接口和代码分隔。随着 Lotus Workplace 和 Lotus Notes/Domino 集成度越来越高,Java 和 Eclipse 将发挥重要 作用。Notes 开发 员现 可以凭借自己 合并和群件技能进行构建,同时还要准备应付未来 挑战。
新 产品或工作方式必须具 些重要功能和优点,才能确保 们愿意采用该产品或方式。对于必须提交编写得很好 、提供优质 Java 代码 应用程序 Notes 开发 员来说,Eclipse 提供 调试、重构和源代码控制。所 这些 任何重要 开发工作中都 重要 功能,它们将确保 得到 成果相比,您花费时间学习如何使用 Eclipse 进行 Notes 开发 非常值得 。
,
分享到:
相关推荐
Lotus,作为IBM的一款经典软件产品,主要用于协作和企业级应用,尤其以其Notes/Domino平台闻名。在深入探讨Lotus的学习材料之前,先要理解这个平台的核心价值:它提供了邮件、日历、任务管理、即时通讯以及文档共享...
通常,开发人员会使用IBM Domino Java API来与Notes服务器进行交互,这涉及到更多特定于Notes的知识点,例如创建NotesSession、数据库和文档等。 在实际应用中,可能还需要处理异常、错误报告以及对邮件格式的支持...
4. **IBM-Louts8**:IBM 的 Lotus Notes 客户端软件使用了 Eclipse-RCP 技术。 5. **NASA火星探测器操作系统**:Eclipse-RCP 还被用于开发 NASA 的火星探测器操作系统。 #### 五、Eclipse-RCP的主要参与者 目前,...
要使用Java访问Domino对象,首先需要在环境中配置JDK和IDE,例如Eclipse或IntelliJ IDEA。然后,引入Lotus Domino的JAR库,这些库提供了访问Domino对象的API。常见的访问协议有IIOP(Internet Inter-ORB Protocol)...
- **视图导航:** 解释如何使用视图来导航和管理文档集合。 #### Chapter 8: Working with Domino Views 深入讨论如何利用 Domino 视图来管理和展示大量文档。 **关键技术:** - **视图创建:** 介绍如何在 Domino...
将LotusNotes自如地用于个人电子邮件,并且对邮件进行扩展以包含新的MailRuleRunner,允许用户在客户机上手动运行自己的规则。本文的重点是如何在EclipsePDE(programmingdevelopmentenvironment,程序开发环境)中...
在企业内容管理(ECM)领域,IBM提供了大量产品,如Lotus Notes和Domino用于企业通讯和协作,Lotus Sametime则提供实时通信和协作解决方案。Lotus Quickr 和Lotus Connections都是协作工具,而IBM Websphere Portal...
黑莓Java开发环境(JDE)是一套完整的工具集,用于创建、测试和调试基于Java的应用程序,这些应用程序可以在支持Java的黑莓设备上运行。JDE包括了开发所需的各种组件,如Java虚拟机(JVM)、APIs、模拟器和调试工具...
- IBM Lotus Notes:采用Java。 - Foxmail:使用Delphi。 8. **软件开发集成环境/IDE**: - Microsoft Visual Studio:基于C++。 - Eclipse:使用Java,图形界面SWT基于C/C++。 - Code::Blocks:采用C++。 9....
5. **开放和灵活的访问方式**:Quickr支持多种基础设施、操作系统、编程模型和行业标准,如Java、Linux、Eclipse、RSS/Atom、ODF、AJAX、Web Services和REST,确保了跨平台的兼容性和互操作性。 6. **集成现有应用*...
XPages作为IBM Lotus Notes/Domino 8.5推出的用于构建Web 2.0应用程序的新技术,为开发者提供了前所未有的灵活性和对Web内容的精细控制。本文旨在深入探讨XPages的服务器端JavaScript/Java调试技巧,帮助初级开发者...
"Notes7-pseudo-classes.jar"文件包含的是Lotus Notes API的伪Java类,这些类虽然不能直接运行,但它们提供了API结构的清晰视图,帮助开发者理解各个类和方法的关系。"Notes7-pseudo-javadoc.zip"和"Notes7-pseudo-...
周拉拉在计算机软件行业有超过五年的经验,特别是在Java开发和Lotus/Notes办公自动化解决方案方面。他的工作经历涵盖了高级软件工程师、系统架构设计师、项目主管和项目经理的角色。 在技术技能方面,周拉拉熟练...
Domino是IBM开发的一种基于Lotus Notes的服务器平台,它提供了数据库、邮件、协作和Web应用等功能。Eclipse则是一个开源的集成开发环境(IDE),广泛用于Java和其他编程语言的开发,包括对Domino应用程序的支持。 ...