使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx

上传人:b****7 文档编号:25596813 上传时间:2023-06-10 格式:DOCX 页数:12 大小:174.85KB
下载 相关 举报
使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx_第1页
第1页 / 共12页
使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx_第2页
第2页 / 共12页
使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx_第3页
第3页 / 共12页
使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx_第4页
第4页 / 共12页
使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx

《使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx》由会员分享,可在线阅读,更多相关《使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx(12页珍藏版)》请在冰豆网上搜索。

使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序.docx

使用LotusNotes和Eclipse管理和运行Java程序

使用LotusNotes和Eclipse管理和运行Java程序

内容摘要:

利用EclipseIDE为LotusNotes/Domino开发Java代理。

下载并安装Eclipse,然后了解使用Eclipse创建项目、调试Java、重构代理以及将代理导入DominoDesigner是何等轻松。

  Java和LotusNotes/Domino是理想的开发组合。

将它们组合在一起,可以使Notes/Domino开发人员充分利用其常用开发环境DominoDesigner中目前可用的所有Java代码和包。

  Eclipse大概是最好的集成开发环境之一,它提供了非常丰富的特性,其中包括上下文相关操作、视图、富调试程序(richdebugger)和重构。

重构可以将Java代码重新命名、移动、添加和提取到新的方法中,以减轻清除初始编码尝试的工作量,使其简洁易读,并使其成为您要向其他开发人员显示的代码。

对许多开发工作来说,重构是Eclipse最好的一项功能。

  有了调试LotusNotes/Domino7中的Java代理的能力,现在就可以协调LotusNotes/Domino和Eclipse,为Notes/Domino应用程序创建设计优良的可调试Java代理项目。

  进行任何LotusWorkplace开发都需要确实了解Eclipse是如何工作的。

LotusNotes/Domino7提供了一个现在开始学习Eclipse的极好理由,既将它用于Notes/Domino的一些操作,增加将来也可以应用于LotusWorkplace项目的技能。

  本文讲述了如何安装Eclipse,如何为LotusNotes/Domino创建项目,以及如何将这个项目导入DominoJava代理中,然后调试该代理。

本文还提供了调试这些代理的一些技巧和可能遇到的陷阱。

  安装Eclipse

  WebSphereStudioApplicationDeveloper是基于Eclipse的,所以如果安装了Eclipse,就可以随同本文了解如何使用WebSphereStudioApplicationDeveloper。

如果没有安装Eclipse或WebSphereStudioApplicationDeveloper,那么您需要先获得这两个应用程序。

Eclipse可以从Eclipse基础网站免费下载。

WebSphereStudioApplicationDeveloper的试用版也能找到。

 下载Eclipse或WebSphereStudioApplicationDeveloper。

Eclipse很容易安装;Eclipse的Web站点上有安装说明。

下载了用于Windows的zip文件之后,需要运行eclipse.exe文件。

WebSphereStudioApplicationDeveloper比较复杂。

请参考相应文档,以获得安装说明。

  注意:

下面的步骤讲述的是Eclipse3.0。

如果您安装了Eclipse的其他版本,可能会发现用户界面以及步骤与本文中讲述的有所不同。

  Eclipse和RationalClearCase源代码控制

  如果要集成Eclipse和RationalClearCase源代码控制系统,可以下载并安装IBMRationalClearCaseSCMadaptersforEclipse2.11。

否则,默认源代码控制系统是CVS。

  在Eclipse中创建新的Java项目

  安装了Eclipse和所有插件后,现在就可以创建项目,并以此作为Notes/Domino工作的开始。

必须在一个项目内存储所有Java代码。

在工作区中可以有多个项目。

在计算机中还可以有多个工作区,可以使用eclipse.exe的–data开关来指向不同的工作区。

  要创建新的Java项目,需要打开Eclipse,选择File-New-Project。

然后在NewProject对话框中选择JavaProject,最后单击Next。

  图1.NewProject对话框

  输入项目名称,然后单击Finish。

创建了项目后,要更改项目属性中的路径,使其指向Notes.jar文件。

右击PackageExplorer附签中的项目并选择Properties。

在Properties对话框中,选择JavaBuildPath,然后选择Libraries附签。

单击AddExternalJARs按钮,导航到Notes.jar文件,以将其添加到类路径中。

图2.Properties对话框

  添加了JAR文件之后,可以使用项目中NotesJavaAPI定义的类和接口。

DominoDesigneron-linehelp中有关于NotesJavaAPI的文档。

  接着,需要下载Sun1.3.1JRE。

或者,如果计算机上安装了Domino服务器,可以使用该服务器的JVM。

Notes客户机和Domino服务器应该是匹配的,以确保构建项目所用的JVM与从服务器任务或代理服务器任务调用时代理和程序将运行的JVM相同。

  LotusNotes/Domino的当前版本使用的是Java1.3.1,所以必须安装该软件以使用正确的版本来构建项目。

(LotusNotes/Domino7使用JDK1.4。

)虽然许多Java代理和程序都可以编译,而且没什么问题,但可能会陷入另一些问题,比如使用一个JDK版本构建程序,却在另一个版本上运行。

如果安装了Eclipse3.0,因为它是基于Java1.4.2的,所以需要删除JDKSystemLibrary并创建一个新库来指向JDK1.3.1安装。

要进行这项操作,需要选中Libraries附签的Properties对话框中的JRESystemLibrary,并单击Remove。

  要添加新库,可以单击AddLibrary按钮。

在AddLibrary对话框中,选择JRESystemLibrary,然后单击Next。

选择AlternativeJRE选项(如果尚未选择)。

然后单击InstalledJREs按钮。

单击Add并完成AddJRE对话框来添加JDK1.3.1。

  图3.AddJRE对话框

保存对项目的更改。

  创建第一个Java代理

  DominoDesigner在开始时会自动为您填充第一个Java代理。

不过,Eclipse不会这样,所以它需要创建新类,来实现正确的AgentBase接口,获取Domino会话和agentcontext对象。

可以使用DominoDesigner中的代码作为指导。

  图4.DominoDesignerJava代理

  将骨干Java代码从DominoDesigner直接复制到Eclipse项目中的新类中。

我们建议您创建新的包,并于其中存储代理。

这将有助于组织项目,并且这符合一般Java设计原则。

要创建新的包,可以选择File-New-Package。

  图5.NewJavaPackage对话框

  我们创建名为com.ibm.NotesJava.agents的包,因为是在IBM工作,并且这是我们的NotesJava项目。

我们将在这个包中存储代理。

可以看到的其他常见包是com.sun.*、org.apache.*和核心Java语言函数的java.lang.*。

至于如何组织包有一整套原则,但这不在本文讨论范围内,重要的是不要将代理和代码放在默认包中,因为这个包杂乱且不专业。

  现在已经有了新包,所以可以创建新的Java类。

要在Eclipse中创建新的Java类,可以选择File–New–Class。

Eclipse的效率非常高,所以如果已经选择了包,那么Eclipse将填充包名称。

可以在这里添加名称和超类了。

对于Notes代理,超类必须始终是lotus.domino.AgentBase。

在DominoDesigner中,该操作是自动进行的,但在Eclipse中,必须手工完成这项操作。

图6.NewJavaClass对话框

  在创建类之后,就可以输入剩余的代理代码,从而使其看起来与DominoDesigner示例中的代理一样。

  图7.Eclipse中的JavaAgent

  构建代理时,将在包目录中创建JavaAgent.class文件。

现在已经有了类文件,我们可以将其导入DominoDesigner中的代理中,并在Eclipse中管理代码。

在DominoDesigneron-linehelp中,请参阅“ImportJava”主题,以获取更多信息。

在将文件导入代理中之后,当调用该代理时,可以运行已经编写的Java代码。

现在就可以使用Eclipse调试程序来调试该代码了。

  调试Java代码

  Eclipse封装了Java调试程序,使您能够遍历和更改变量,监视项并在Java代码中添加断点。

第一步是在调试模式下加载LotusDomino中JVM。

这样可以强迫JVM停止,等到附加了调试程序后再继续进行其操作。

LotusNotes/Domino6或之后的版本中包含这项功能,要启用该功能,可以添加Notes.ini变量JavaEnableDebug=1,然后重新启动服务器。

  下一阶段是在服务器上运行代理,并等待服务器冻结代理的执行。

在冻结代理的执行之后,JVM将等待调试程序附加到TCP/IP端口9788。

  打开Eclipse和项目。

选择Run-Debug来打开Debug对话框,然后选择RemoteJavaApplication,单击New创建新的调试会话。

最后,在Connect附签中,指定服务器的主机名称,如果服务器在所调试的计算机上,则指定本地主机的名称。

图8.Debug对话框

  对于高级用户,可以按如下所示改变端口号和调试设置:

  JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000

  Suspend=n没有冻结服务器来等待调试连接,所以可以错过代理的启动。

该调试设置允许您将额外参数传送给服务器中的JVM调试程序。

如果您有自己喜欢的设置,也可以在这里使用。

  最好是代理代码中已经设置了断点。

当在调试模式下使用Eclipse将代码附加到服务器时,它应该会自动断开,并允许您检查变量,设置其他断点,执行需要使用的其他所有调试任务。

  其他Eclipse指针

  现在Eclipse中已经有了项目,它提供了DominoDesigner内大型Java项目所没有的许多增强开发和组织任务。

DominoDesigner适用于较小的Java任务,比如获取或设置多个值或简单的报表。

不过,一旦开始将代码分入不同的包、定义接口并将工作委托给其他人,项目管理会变得更复杂。

  Eclipse包含用于协同工作的内置工具,其中包括CVS源代码控制集成。

RationalClearCase源代码控制插件允许您附加到ClearCase中存储的Eclipse项目中。

它提供了自动或即时的代码检入和检出、简洁的修饰符,从而可以轻松地标识源代码控件中的对象及其状态。

  Eclipse中另一项非常有用的功能是可以重构项目。

例如,可以选择代码的一部分并将其移至它自己的方法中。

如果您有一个非常长的方法,想将其分入较小的步骤中,那么可以将这项操作自动化,Eclipse能够帮助您实现该自动化。

下列代码片断是一个重构示例:

Initialfunction

  publicvoidNotesMain(){

    try{

      Sessionsession=getSession();

      AgentContextagentContext=session.getAgentContext();

      Databasedb;

      

      //Iamrunningthis,usetheserver-oritcanassumeitislocal

      if(session.getUserName().equals("CN=IanConnor/OU=Westford/O=IBM")==true)

        db=session.getDatabase("support/iris","support/retain.nsf");

      else

        db=session.getDatabase("","support/retain.nsf");

        

      System.out.print(db.getFileName());

    }catch(Exceptione){

      e.printStackTrace();

    }

  }

  可以选择要移至其自己的函数的代码部分,然后选择Refactor-ExtractMethod。

这将确定需要传送的参数和应该返回的数据。

您所需要做的就是选择方法名称。

然后可以预览更改,查看要进行的操作。

这将有助于您更好地组织代码,使试图了解代码的其他人更容易维护代码。

正如所有开发人员都知道的,包含较短函数的、简洁的、组织良好的代码基数(codebase)要比非常长的、似乎不会结束的1000行函数容易使用得多。

publicvoidNotesMain(){

    try{

      Sessionsession=getSession();

      AgentContextagentContext=session.getAgentContext();

      Databasedb;

      

      db=getRetainDatabase(session);

        

      System.out.print(db.getFileName());

    }catch(Exceptione){

      e.printStackTrace();

    }

  }

  privateDatabasegetRetainDatabase(Sessionsession)throwsNotesException{

    Databasedb;

    //Iamrunningthis,usetheserver-oritcanassumeitislocal

    if(session.getUserName().equals("CN=IanConnor/OU=Westford/O=IBM")==true)

      db=session.getDatabase("support/iris","support/retain.nsf");

    else

      db=session.getDatabase("","support/retain.nsf");

    returndb;

  }

  重构是所有开发工作的基础部分。

我们总是不愿意立即共享代码的第一个cut。

在使用新的API或新的工作方式时更是如此。

先是花费大量时间编写了一小部分代码,以测试其如何工作,然后当可以运行该代码时,将停下来适当组织代码,使查看该代码的人能够看懂。

  结束语

  Eclipse是Notes开发人员可以在其当前和将来项目中使用的非常有用的平台。

它可以帮助开发人员更好地组织项目,与小组中的其他人共享代码,并更好地利用Java设计技术,如接口和代码分隔。

随着LotusWorkplace和LotusNotes/Domino的集成度越来越高,Java和Eclipse将发挥重要的作用。

Notes开发人员现在可以凭借自己的合并和群件技能进行构建,同时还要准备应付未来的挑战。

  新的产品或工作方式必须具有一些重要功能和优点,才能确保人们愿意采用该产品或方式。

对于必须提交编写得很好的、提供优质Java代码的应用程序的Notes开发人员来说,Eclipse提供了调试、重构和源代码控制。

所有这些在任何重要的开发工作中都是重要的功能,它们将确保与得到的成果相比,您花费时间学习如何使用Eclipse进行Notes开发是非常值得的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1