目录

  • 1 任务一 Eclipse概述及安装
    • 1.1 认识Eclipse
    • 1.2 安装Eclipse
    • 1.3 安装Eclipse插件
    • 1.4 实训
  • 2 任务二 Eclipse的集成开发环境
    • 2.1 Eclipse界面
    • 2.2 常用视图
    • 2.3 透视图
    • 2.4 Java程序编写
    • 2.5 编译和运行
    • 2.6 Java代码调试
    • 2.7 实训
  • 3 任务三 Eclipse中搭建Web开发环境
    • 3.1 Eclipse中Web开发环境的分析
    • 3.2 应用服务器Tomcat的安装与配置
    • 3.3 MyEclipse插件的安装与配置
    • 3.4 数据库的安装与配置
    • 3.5 实训
  • 4 任务四 Eclipse中开发Web项目
    • 4.1 Eclipse中创建Web工程
    • 4.2 建立Servlet处理方式
    • 4.3 建立JavaBean处理方式
    • 4.4 数据库开发
    • 4.5 Eclipse中调试Web项目
    • 4.6 实训
  • 5 任务五 Eclipse开发实例——电子会议厅
    • 5.1 MVC设计模式
    • 5.2 系统分析
    • 5.3 数据库设计
    • 5.4 框架结构设计
    • 5.5 功能设计与实现
      • 5.5.1 动态加载事务类别
      • 5.5.2 添加事务(一)
      • 5.5.3 添加事务(二)
      • 5.5.4 班级事务的编辑与删除
      • 5.5.5 班级事务的查看
    • 5.6 实训
  • 6 任务六   Struts实现MVC设计
    • 6.1 实例介绍
    • 6.2 Struts框架结构
    • 6.3 Struts实例设计
    • 6.4 利用Struts实现“班级事务发布”模块
    • 6.5 实训
  • 7 任务七  Hibernate实现数据持久化
    • 7.1 持久化技术
    • 7.2 Eclipse中开发Hibernate
    • 7.3 Hibernate项目的设计
    • 7.4 利用Hibernate实现“班级事务浏览”模块
    • 7.5 项目的打包与发行
    • 7.6 实训
  • 8 任务八   JUnit单元测试
    • 8.1 关于JUnit
    • 8.2 编写和运行JUnit测试
    • 8.3 JUnit测试案例
    • 8.4 实训
  • 9 任务九  使用CVS进行版本控制
    • 9.1 版本管理与CVS
    • 9.2 CVS服务器的安装与配置
    • 9.3 CVS客户端的配置
    • 9.4 CVS项目管理
    • 9.5 标记版本
    • 9.6 实训
CVS项目管理


CVS项目管理


一、将Eclipse项目提交到CVS 

Eclipse与CVS服务器建立连接后,开发者就可以把本地的项目添加到资源库中去了

操作前提:Eclipse中现有的项目Meeting_Hall仅完成了班级事务的发布功能。

Step 1: 在Eclipse的“包资源管理器”视图中选中项目,单击鼠标右键,选择“小组”→“共享项目”命令,在弹出的对话框中选择已经定义好的资源库位置,并使用项目名作为服务器上将要建立的模块名。




模块是资源库的一级目录,通过这一步的操作,就会在/CVSNT_House资源库中建立一个名为Meeting_Hall的模块,与Eclipse中的Meeting_Hall项目对应。 

Step 2: 把Meeting_Hall项目提交到CVS服务器,并在服务器上创建Meeting_Hall模块,需要把相关资源复制到服务器上,即“落实”操作。






Step 3: 浏览资源库的物理位置,Meetng_Hall模块中存储了项目中的相关资源,同时“CVS资源库”视图也反映出了相应的变化。


  

二、导入CVS服务器上的项目 

把Meeting_Hall项目共享到CVS之后,当有新的开发者加入项目开发团队时,就可以把这个项目从CVS服务器导入到自己的Eclipse中了。

    操作前提:

    为了更清楚地演示这个过程及结果,先把Eclipse中已经共享了的Meeting_Hall项目彻底删除

Step 1: 导入项目的时候,选择“CVS中的项目”,并使用服务器上“现有的资源库位置”,导入需要的项目。














Step 2: 从CVS检出资源时,可以作为新建项目导出,也可以作为工作空间中的项目导出;同时,系统会使用Eclipse的默认工作空间来存储导出的项目。









Step 3: 观察结果——系统将CVS服务器Meeting_Hall模块里的项目检出到本地客户端,“包资源管理器”视图中的项目完全是共享状态,与CVS服务器相连接;同时工作空间也已经有了Meeting_Hall项目的副本。 



三、文件的提交与更新

在团队开发时,客户端既要进行合作又要保持独立

u  既要把修改过的文件重新提交到CVS服务器端,以便大家共享开发成果;

u  又要及时地获取服务器端的新文件,以便更新本地文件系统,进行更进一步的开发工作。

文件提交

提交(Commit):将自己本地修改过的文件提交到对应模块中,即用本地的文件覆盖远程服务器上的文件。

操作前提:

   为了提交修改过的新文件,将项目AffairsAdd.java文件中的提示信息加以修改,代码如下.

   修改前的代码:

request.setAttribute("result","OK,添加记录成功!");

   修改后的代码:

request.setAttribute("result","非常好,添加记录成功,请查看结果!");

提交过程分为两步:

Step1: 把文件加入到版本控制模块中。此时只是在版本控制中注册文件,还没有把文件复制到服务器的模块中。

由于是对AffairsAdd.java文件进行修改,在此之前它已经在版本控制中注册过了,所以这一步是不用进行的。此时修改过的文件连同包路径的名称、项目名称的前面都出现了一个“>”符号。

Step2: “落实”文件,既把文件复制到远程模块中,使得其他用户能够访问这个资源。 















文件更新

更新(Update):从CVS资源库的对应模块中下载文件,更新本地文件,即用远程服务器的文件覆盖本地文件。

当团队成员正在对检出的项目进行开发时,团队中的其他成员可能也正在对存储库中的项目副本进行修改,这时需要获得这种更新信息,使得自己检出的项目副本与存储库保持一致。 

















更新之后,本地的项目资源与服务器上的资源完全相同,包括文件最终的修改版本也完全一样。

四、冲突的产生与解决

在项目进行团队开发过程中,可能会出现这样的情况:多个成员同时修改同一个文件,提交的时候Eclipse就会提示一些异常情况—不能落实发生冲突的修改。

   冲突的解决是文件更新操作的核心所在。

冲突的产生

操作前提:为了有利于讲解冲突的产生,模拟两个CVS客户对资源的共享开发过程。

u 从CVS中导入项目Meeting_Hall,将项目名称命名为Meeting_Hall_other,这样有别于已经存在的项目Meeting_Hall。这两个项目取自服务器上的最新资源,而且完全相同,相当于两个开发者都对自己的项目进行了更新,目前尚没有在本地做任何修改操作。

u Meetin_Hall:用户A所有

  Meeting_Hall_other:用户B所有

Step 1: 用户A修改AffairsAdd.java文件并落实到服务器上。由于他是第一个进行落实的客户端,所以服务器接受他的修改文件并更新了资源库中的文件。











Step 2: 用户B也修改了AffairsAdd.java文件,并且在用户A落实文件之后也进行了落实操作,但是系统提示错误。 







解决冲突 

由于用户B不能落实自己的修改,只能以资源库文件为依据更新自己的文件了,这种情况属于可自动合并的冲突。

*  在包资源管理器视图中选择AffairsAdd.java文件,在快捷菜单中选择小组更新命令。

*  由于这种冲突可以自动合并,所以更新没有问题,用户B的文件变更了版本。







从图中可以看出两点变化:

u 文件集合了用户A和用户B的修改;

u 文件前面有>符号,说明用户B的文件与服务器上的文件有差异。但它与服务器上的版本相同,说明此时可以进行落实操作。

一些实践者在开发中的经验:

u 项目合理设计合理分工,各人负责各自的功能模块,这样就不容易造成重复修改。

u 在修改代码文件之前先更新,修改完之后尽早落实。落实时写上注释,说明做了哪些修改。

u 在开始开发工作前,先更新CVS的最新版本到本机;每天结束工作之前把当天完成的代码落实到CVS服务器,特别要注意:所有落实的代码都应该是完整的可运行的代码,保证其他开发者更新资源之后不会出错。

u 项目团队的JDK、Eclipse等开发环境(包括安装目录、软件版本、环境配置等)要保持一致。