Eclipse从入门到精通(第二版)_ch37

合集下载

Eclipse教程(全)

Eclipse教程(全)

10 付蓉 译
Introduction to Java Programming
图 12
图 13
11 付蓉 译
Introduction to Java Programming
6 在命令行运行 Java Applications
除了使用工具软件来运行 Java 程序,还可以直接在操作系统上单独运行 Java 程序。 下面是在 DOS 命令提示符下运行 Java 程序的步骤: 1. 点击 Windows 左下角的开始->程序->附件->命令提示符打开 DOS 窗口。 2. 输入下名的命令来设置 Java 程序运行的环境 set path=%path%;c:\j2sdk1.5\bin set classpath=.;%classpath% 3. 输入命令 cd c:\smith\myjavaprograms 到存放你所编写程序的目录下。 4. 输入命令 java Welcome 来运行程序。运行输出的界面如图 14 所示:
0 简介
该教程的使用者包括正在通过使用 Eclipse 来学习 Java 课程的学生和想要用 Eclipse 开发 Java 项目的程序员。Eclipse 是由 IBM 提供的一个开源的 Java 程序开发软件。 你也可以使用 JDK 命令行工具来写 Java 程序。JDK 命令行工具包括一系列独立的程序, 如编译器和解释器,都可从命令行来激活。除了 JDK 命令行工具,市场上还有很多 Java 的开发工具,包括 Borland 公司的 JBuilder、NetBeans、Sun 公司的 ONE Studio(商 业版的 NetBeans) 、Eclipse 和 WebGain Visual Café。这些工具为快速开发 Java 程序 提供集成的开发环境(IDE) 。编辑、编辑、构造、调试和在线帮助被集成在一个用户图形

eclipse入门

eclipse入门

Eclipse入门Eclipse的使用简介及插件开发Eclipse 是替代IBM Visual Age for Java(以下简称IVJ)的下一代IDE开发环境,但它未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。

目前,Eclipse已经开始提供C语言开发的功能插件。

更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。

也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。

同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java开发环境中加入Tomcat服务器插件。

可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。

虽然目前Eclipse项目还没有最后完成,但从已有的版本中已经能领略到Eclipse设计主导思想和主要功能特点。

现在就了解Eclipse不但能使广大程序员对这款业界期望很高的IDE能一睹为快,更为重要的是如果能参加到Eclipse 项目的开发中或是阅读它的开放源代码,这对广大程序员来说无疑是一个千载难逢的提高编程水平的好机会。

Eclipse计划提供多个平台的版本,象Windows,Linux,Solaris,HP-UX和AIX,以下只介绍Windows版本。

本文第一部分先介绍Eclipse的基本使用方法。

第二部分介绍如何进行Eclipse的插件开发。

一.Eclipse简介Eclipse是开放源代码的项目,你可以到去免费下载Eclipse 的最新版本,一般Eclipse提供几个下载版本:Release,Stable Build,Integration Build和Nightly Build,建议下载Release或Stable版本,笔者用的是Build20020125(Stable版本)。

第13章 插件开发基础 《Eclipse从入门到精通》教学课件

第13章  插件开发基础 《Eclipse从入门到精通》教学课件
首先第一步:新建项目。在新建项目向导中,选择 Plug-in Project。
13.2.5 PDE透视图
向导完成后,会提示是否切换到“PDE透视图”。这里可 以根据个人习惯选择,因为PDE透视图和Java透视图差不多, 只是布局上有一些不同而已。
13.2.6 PDE项目的文件结构
PDE项目的文件结构和Java项目差不多。不同的是, 多了一个META-INF文件夹,以及MANIFEST.MF文件。还 有一个build.properties文件。
第一步:新建插件项目:插件项目也叫PDE项目。开 发插件的第一步就是在Eclipse中建立PDE项目。插件项目 需要由PDE工具来建立。另外PDE工具也提供了把普通 Java项目转换为PDE项目的向导。
第二步:建立Activator: 第三步:编辑manifest 第四步:编辑plugin.xml 第五步:实现扩展点 第六步:扩展Preference 第七步:扩展透视图 第八步:扩展视图 第九步:扩展ActionSet
13.2.7 PDE可视化编辑器
PDE最常用的功能就是使用PDE可视化编辑器。回头 看一下图13-7,在PDE透视图中,占据着编辑器区域的就是 PDE编辑器。PDE编辑器下方的标签也清晰地展示它的功能 。
Overview: Dependencies: Runtime: Extentions: Extention Points: Build: MANIFEST.MF: build.properties: plugin.xml:
13.3.3 使用扩展点向导添加扩展
CO2的功能很简单,只要扩展Java编辑器中的快捷菜 单就可以了。
13.3.3 设置快捷菜单的扩展
向导完成后,可以看到扩展列表中显示了新增的一个扩 展。选择扩展列表中的节点,右边的编辑器动态显示和节点 相关的编辑器。通过编辑器可以对相关的属性进行修改。

Eclipse学习手册

Eclipse学习手册

Eclipse学习手册Eclipse是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的Java 集成开发环境。

作为一套开源工具,可用于构建Web Services、J2EE等各种类型的应用,其所提供的功能不亚于、甚至要超过由专业的集成环境供应商所提供的商业化产品,如JBuilder。

Eclipse最有魅力的地方就在于它的插件体系结构。

在这个体系中重要的概念是扩展点(extension points),也就是为插件提供的接口。

每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。

由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。

在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBench UI插件完成界面的外观显示,Resource Management插件完成维护或生成项目或文件等资源管理工作,而Version and Configuration Management(VCM)插件则负责完成版本控制功能,等等。

虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse 却把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Java development tooling,JDT),也只不过是Eclipse系统中的一个普通插件而已。

整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件。

虽然大多数用户很乐于将Eclipse当做Java IDE来使用,但Eclipse的目标不仅限于此。

Eclipse平台为工具提供者(Tools Provider)提供一套使用机制和一组需要遵循的规则,从而使得开发出的工具之间可以实现无缝的集成。

这些机制通过定义良好的API接口、类和方法提供给用户使用,平台同样为新的工具的开发提供强有力的组件支持(如Plug-in Development Environment,PDE——插件开发环境)。

Eclipse从入门到精通

Eclipse从入门到精通

2005年清华大学出版社出版的图书Eclipse Eclipse从入门到精通从入门到精通目录01内容简介作品目录02基本信息《Eclipse从入门到精通》是2005年清华大学出版社出版的图书,作者是强锋科技、陈刚,该书以SWT/JFace和Eclipse插件开发为核心内容,并兼顾了Web开发,而Eclipse开发环境的使用只占极少部分。

内容简介内容简介本书共分为四篇。

“起步篇”介绍了Eclipse及相关插件的安装,还介绍了一些Eclipse开发环境的基本使用技巧;“SWT/JFace篇”详细介绍了SWT、JFace的使用;“插件开发篇”介绍了Eclipse插件开发的各个步骤,并给出了一个基于数据库开发和面向对象分析设计的完整插件实例;“Web开发篇”以Tomcat+Lomboz+Hibernate为开发环境,详述了其下载、安装、配置和开发的全过程。

本书以SWT/JFace和Eclipse插件开发为核心内容,并兼顾了Web开发,而Eclipse开发环境的使用只占极少部分。

本书内容循序渐进,实例丰富,操作及开发步骤讲解详细,配书光盘含有各主要章节的操作视频演示,是Eclipse开发者不可多得的教程。

作品目录第1篇笫2篇第3篇第4篇作品目录第1篇起步篇第1章Eclipse简介第2章安装Eclipse及多国语言包第3章安装SWI Designer第4章Eclipse的集成开发环境第5章Eclipse中CVS的使用笫2篇SWT/JFace篇第6章SWT概述第7章SWT/JFace的事件模型第8章SWT常用组件第9章容器类第10章布局管理器第11章其他SWT组件第12章图像第13章SWT的线程第14章表格(TableViewer类)第15章树(TreeViewer类)和列表(ListViewer类)第3篇插件开发篇第17章Eclipse插件开发起步第18章常用插件扩展点第19章Eclipse插件的国际化第20章报表:用POI与Excel交互第21章项目的打包与发行第22章插件项目实战第4篇Web开发篇第23章Web环境的搭建(V0010)第24章一个纯JSP+JavaBean实例(V0020)第25章在Eclipse中使用Struts第26章在Eclipse中使用Hibernate附录光盘内容简介谢谢观看。

eclipse知识教程(2)

eclipse知识教程(2)

2文件的组织和结构2.1 ECLIPSE输入/输出结构●箭头表明数据文件可以在应用模板间直接传递;●ECLIPSE及其相关软件并不依赖于数据库来进行数据存储;●用Unix和Windows文件系统进行数据存储;●一些应用模块可以用于作用前处理和后处理(双向箭头);●上表只列出了ECLIPSE的主要结构,并不完整;●一些应用程序被作为一个套件来提供。

ECLIPSE及其前后处理模块是在应用模块所在的文件系统中读写数据的,而并没有用底层数椐库来进行数据存储。

一般说来,应用模块只是在应用模块所运行的当前目录下读写数据,但是也有例外,那就是利用ECLIPSE的关键字“INCLUDE”,它用来把其它包含ECLIPSE关键字的文件中的数据读入到ECLIPSE数据文件中。

例如:INCLUDEGRID.GRDECL /把当前目录中名为GRID.GRDECL的文件读入到ECLIPSE数据文件中。

INCLUDE`../../welldata/97match/sect2.sched` /会从次相对路径中读取数据文件,绝对路径也是允许的。

同时,文件GRID.GRDECL和sect2.sched本身也可能包含INCLUDE关键字。

数据在应用模块间的传递是通过从一个模块输出文件再从另一个模块读入数据来实现的,当然也有例外,这种数据存储和传递的方式并个是GeoQuest软件的通用情况,因为大多数的GeoQuest软件都是从底层数据库中提取数据的。

注意,并不是所有QeoQuest的应用软件都显示在图14中了。

2.2 ECLIPSE输出文件ECLIPSE的输入文件有后缀:.DATA(UNIX)或.DAT(PC)●屏幕输出或快捷窗口输出;●Print打印文件;●Debug调试文件;●Summary文件;●Run summary文件;●Summary详述文件;●Grid文件;●Init文件;●Restart重启文件或文件组;●Flux,RFT和(或)Save文件。

Eclipse教程(china)之二

Eclipse教程(china)之二

3.喜好设定(Preferences)「Preferences」对话框是用来设定使用者喜好设定的对话框。

可以从「Window」→「Preferences」找到这个对话框。

由外挂程序组成的喜好设定页面也可以在这个对话框中找到。

喜好设定大部分的功能都是由其个别页面所定义,但对话框提供了两个一般功能:⏹Import:汇出会将对预设喜好设定的任何变更写入到使用者指定的档案中。

⏹Export:汇入会套用使用者指定的档案中的喜好设定。

喜好设定对话框的外观如下:图3.13.1工作台(Workbench)工作台一词指的是桌面开发环境。

每一个工作台窗口都含有一个或多个视景。

视景则包含视图和编辑器,以及控制在某些菜单和工具列上出现的项目。

在任何给定的时间里,可有多个工作台窗口存在于桌面上。

可以在工作台页面中变更下列喜好设定。

工作台喜好设定页面看起来如下:图3.23.1.1外观(Appearance)可以在「外观」页面中变更下列喜好设定。

「外观」喜好设定页面看起来如下:图3.33.1.2功能(Capabilities)「功能」喜好设定页面可以启用或停用各种产品组件,如 Java 开发和外挂程序开发。

附注:部分功能选项会相依于其它功能,停用某必要功能,却仍启用相依的功能,结果只会重新启用它们。

当取消选取 Java 开发和核心团队支持时,就是如此。

「功能」喜好设定页面看起来如下:图3.4当试图启用某个动作,但它的功能先前已停用或尚待喜好设定页面予以启用时,会出现下列Confirm Enablement提示,供确认确实要启用必要的功能。

请按一下Details来显示功能的说明。

图3.53.1.3颜色和字型(Colors and Fonts)可以利用「颜色和字型」喜好设定页面来设定Eclipse组件所用的许多字型和颜色。

树状结构用来导览各种颜色和字型,以及显示各种颜色和字型的预览。

任何字型的现行样式(不是大小)预览都会出现在它的标签中。

Eclipse

Eclipse

Eclipse零起步系列讲座Eclipse项目是IBM在2001年捐献的一个开发平台,当时此项目评估价值为40millionUSD. 此东东如此值钱,可见自是有过人之处. 接下来直接转入正题, 今天这篇侧重于eclipse的内部结构剖析,对于想开发插件的同志们,这些都是基础知识,可以好好看看. 由于我写这个东西,也是随性发挥,想到什么就写什么. 而关于eclipse的如何使用,如何用eclipse来开发一个java项目或其他项目之类的文章, 我想我会在以后的文章中写到. 但我想对于要在开发eclipse上开发web项目,c项目或其他的话,你也要会自己能安装相应的插件,才能开发,所以,这些基础知识的对于这些人来说还是很有必要的.(正文)上一回我们且说到eclipse的下载,安装,启动. 其中讲到eclipse目录结构时,你会发现有两个目录,一个叫plugins,一个叫features,而且你会发觉就这两个目录就占了整个eclipse项目的9x%的空间,如果少了这两个目录,呵呵,eclipse根本就是空架子. 那这里面到底存放了些什么东西呢, 让我们来研究一下.[什么是plug-in]我们来做一个比喻, 你买了一套新房子,买过来是毛坯房,然后你稍微装修一下,铺了地板,上了墙纸, 当然现在大家都要用家用电器, 没电咋行, 所以我们就要布好电线,装好电源插座. 这个时候,你可以把这个房子想像成eclipse这个平台. 之后, 我们或许就要添置家用电器了,比如电视, 音响等等, 等我们买好回家, 然后把电源往插座上一插, 那我们就抱着孩子, 搂着老婆, 看电视, 听音乐, 舒舒服服的过上幸福美满的小生活了~~~同样的, eclipse的plug-in 也是同样的工作原理, plug-in 只要放到/plugins目录下, eclipse启动后就会自动给所有在这个目录下的plug-ins, 通上电, 那这些plug-ins就会自动的运行起来, 美妙的eclipse界面也随之呈现在你眼前.那接下来,让我们看看eclipse这个由插件组成的平台,到底是个什么样的架构[Eclipse 平台架构]---------------------------------------------| Eclipse Platform | -------- | | ---\ | || ----------------------- ------------ |==| _ |______| JDT || |Workbench | | | |==| | ||| | | | | | ---/ -------- | | | | | || | ---------------| | Help | || | | jface | | | || |----------- | | | || | SWT | | | | || | | | ------------ || ----------------------- || ------------ | -------- | ------------------ | | | ---\ | || |Workspace | | | |==| _ |______| PDE || | | | Team | |==| | ||| ------------------ | | | ---/ --------| | | || ------------ |---------------------------------------------Eclipse Platform 就是一个房子, workbench,jface, swt, workspace, help, team,jdt, pde都是基于这个平台的插件.下面我介绍一下这些基础插件的基本功能:*: workbench用来控制工作台, 负责控制工作台上包括菜单,视图,透视图等等的控制和操作*: SWT是一个类似AWT,SWING的java组件,是一个轻量级的组件,而且和awt,swing不同的是,它底层实现不是基于jre,而是根据不同操作系统,有相应的动态链接库实现,所以作出来的效果很专业, SWT主要用于workbench的ui绘制*: jface是基于SWT的一个插件, 对SWT进行了封装, 封装实现了对话框, 视图等东东*: workspace是用来控制工作区的,(有别于工作台), 包括对工作区内的项目的控制,删除,添加,编译项目资源等等都由它来控制*: help是一个eclipse帮助系统, eclipse的菜单->Help-> Help Content,就可以打开这个帮助系统, 这个系统不是封闭的, 可以进行扩展(以后会介绍做eclipse帮助的插件)*: team是一个cvs系统,可以和CVS server协调使用,进行版本控制*: jdt 是Java Development Tools, 开发java的插件*: pde 是plug-in development environment, 开发插件的平台[plug-in 的基本结构]每一个plug-in都用一个目录包起来, 而且起目录名也是有讲究的,比如plug-in的名字叫edu.sjtu.bbs.eclipse,版本是1.0.0, 那这个目录名就是edu.sjtu.bbs.eclipse_1.0.0.而且随便打开一个plugin目录,可以发现总有一个文件叫一个叫plugin.xml,这个文件对于plugin来说十分重要, 它相当于定义了plugin的运行参数,没有这个,plugin无法启动,就像你家的电冰箱如果不知道是用110V还是220V的,你也不敢乱往插座上插,所以总要有个说明,这个说明就是plugin.xml. 至于这个文件有些什么具体结构,我想在以后介绍编写插件的时候,我会详细介绍.[什么是feature]feature是功能部件,它里面没有实际的运行的库,它只是eclipse用来管理plugins的一种途径. 比如你家装了电灯,总要有开关控制把,比如大堂的灯有一个开关控制, 卧室的灯也有一个开关控制, 它们分别用来控制灯的亮与灭.同样,功能部件就是用来控制插件的启动与否. eclipse的update透视图可以设定各个功能部件的启用或禁用状态, 所以你可以通过禁用功能部件,来禁止插件的启动. 这样有一个好处,比如你装了很多插件在eclipse上,但是装的越多,加载就越多,启动也会变慢, 你不信的话,可以玩玩wsad, 就知道我说的话不是假的了.所以,我们可以把功能部件看作是插件或插件集合的开关, 用来控制插件的状态. 如果plugins目录有插件没有被任何一个功能部件包络的话, 我称之为"野插件", 就是eclipse启动,它也一定会启动, 就相当于没有开关, 电源一直连通一样.当然,功能部件还有很多其他方面的用处,以后会有详细介绍. Eclipse零起步系列讲座(三)===========================================(前言)根据上一讲,你或许大概已经了解了Eclipse的组成,以及大致的运行机理. 这篇文章, 将开始带您使用eclipse.(正文)[Eclipse的工作台使用指南]这部分要写的话,其实要写很多,而且最好方式则是图文并茂,最好再有演示. 我这里只是给一些总体的介绍,并给予一些使用上的指导. 个人感觉,如果你从来没碰过eclipse, 启动之后,最好先看一下help, 这样会比较好.具体的操作步骤是这样的, 启动eclipse后, 选菜单里的help-> help contents, 此时会弹出一个新的窗口,就是eclipse的帮助窗口, 这个窗口的左边是一个导航条,选择Workbench User Guide, 里面分为Getting Started, Concepts, Tasks 和Reference. 可以先看一下Getting Started里面的Basic Tutorial. 这份tutorial可以在最短的时间内,让你熟悉eclipse的工作台.其实,eclipse平台ui方面有这几个组件: 菜单, 工具栏, 视图, 透视图, 编辑器菜单和工具栏不用说了, 地球人都知道的, 视图就是view, 比如Navigator, Outline,Tasks 等等都是视图, 每一个视图都有自己相应的功能,你可以参看workbench user guide来了解这些视图. 编辑器,就是editor, 比如有开发java的编辑器, 编写文本的编辑器,等等, 最后还有一个叫透视图, 英文是perspective,这个东东其实是不同的view,menu,toolbar,editor的排列组合. 比如你开发java, 你经常会用到package explorer, tasks, outline等view和编写java的editor,以及适合开发java的菜单(Source和Refactor), 那它就会布局一个适合开发java的透视图, 以此类推.下面我介绍一下常用菜单项:+ File- New: 新建文件,项目,或者其他都是从这里进入- Import: 这个也是很有用的,比如别人开发的eclipse项目,你copy到你机器上,可以通过import把这个项目导入工作区- Export: 这个是导出功能, 比如你开发了一个项目,最后想导出一个运行库,jar包之类的都可以用这个,这样你就不用自己手动的去把那些class文件打包了+ Window- New Window: 你如果觉得在一个window下开发东西太挤的话,可以再开一个,等于冒出两个workbench,其实操作的resource都是一样的.- Open Perspective: eclipse有很多透视图如resource, java, javabrowsing, cvs, debug等等,你可以根据当前开发的需要,选择你要的透视图进行开发- Open View: 透视图毕竟有限,不可能把所有的view都帮你开好, 所以你如果发觉你要用某一个view,但是它没有开,就用这个选项- Customize Perspective: 毕竟每个人都有自己的习惯, 你觉得这个透视图用的不爽, 可以自己定制的- Reset Perspective: 给你定制的一塌糊涂, 唉, 没办法, 还原成老样子把,就用这个- Preference: 这个是非常重要的选项, 偶是没事就进去改的, 它保存了很多配置方面的东西, 比如字体, 快捷键设置, 很多很多方面都要用到这个的, 这个东西的详细介绍, 会稍后介绍.+ Help- Welcome: eclipse很多插件都做了welcome page,这个page 对很多初学者来说,很有用的,否则很多情况下,新的东西是无从下手的.- Help Content: 前面讲过了,用来启动帮助系统- Update: 这个以后会具体介绍- About Platform: 你可以从这里了解你装了哪些features和plugins[利用eclipse 开发简单的java 程序]好了,我们一起step by step来学一下把, 很easy的1. 菜单new -> project, 然后在new project 对话框里选java ->java project, 按next 按钮2. 输入project 的名字, 按next 按钮, 当然如果你不想把项目的根目录建在默认的地方,也可以取消掉use default ,然后自己设定目录3. 之后就finish 把, 都用默认配置4. 如果你没有在java透视图下面,它会提示你是否跳到java透视图,选择是5. ok 一个项目就建好了6. 之后,你就可以new class 开始写java程序了7. 比如你的new一个class,如下public class A{public static void main(String args[]){System.out.println("Hello World");}}8. 编辑好保存, 然后跳到菜单-> run -> run as -> javaapplication9. 你可以看到console view中就冒出Hello World了很easy把, 当然, 你会在开发中会遇到很多问题, 这是必然的, 那这些问题只能在实践中积累才能得到解决, 所以不用急,多用用,多玩玩,遇到问题经常到版上来问问.还有如果你发现问题的话, 找问题解决方案的第一个地方,应该是eclipse的帮助系统里的Java Development User Guide, 几乎绝大多数问题,上面都有答案. 所以有空的话还是要多读一读.不过,很多人都说用了eclipse之后,就抛弃了其他的java ide, 说明它必有爽的地方, 那我来介绍一下用eclipse 开发java,有哪些爽的地方[Java Development Tool (JDT) 特色]其实特色有很多,我也只是凭我的开发经验, 介绍一下jdt的突出功能.1. 自动修饰代码功能这个功能很大程度上, 把平时一些开发代码中的琐碎的工作给自动化了打开菜单+ Source- Comment: 这个比较有用,比如你写java代码,发觉你有一段代码要注释掉,那就选中那一块代码,然后选这项,他就会自动把这段代码注释掉. 快捷健是"Ctrl+/"- Uncomment: 反注释, 操作方法和Comment差不多, 快捷键是"Ctrl+\"- Format: 这个操作项是我一直推荐的, 非常方便, 比如你写了段格式很烂的代码, 乱七八糟的, 那你就选择这项,你会发觉, 哇~~, 我的代码怎么一下子变漂亮了, 不信你可以试试, 快捷键是"Ctrl+Shift+F", 所以我现在都养成习惯了,写一会儿代码,就c+s+f一下, 呵呵,很方便的.- Sort Member: 这个不是很常用,但是如果你觉得代码太长,老是找不到函数,,也可以试试. 他会帮你把你写的函数,变量重新排序- Organize Import: 这个功能也是一个不用不爽的功能, 比如你编一个项目,发现有很多import都没有用到,或者说你引用了一个类,但是你没有import,结果编译不通过, 那都没关系, 一用这个,所有的问题迎刃而解. 至少我用这个之后, 就从来没有写过import这类语句了. 快捷键是"Ctrl+Shift+O(是字母O,不是数字0)", 我经常把这个和c+s+f一起用, 呵呵,人也变懒了不少- Override/Implement Method: 这个比如你写一个类, 实现了某一个接口,但是你还没有实现那个接口的函数, 那就用这个,它会自动搜索父类和接口的方法,你可以选择要覆盖还是实现哪些函数- Generate Getter and Setter: 如果你加了一个类变量, 要为它写getter和setter,不用那么麻烦, 用这个把,都是自动的- Generate Delegating Method: 如果某一个field要生成代理函数,用这个把,选一下就ok- Add Javadoc Comment: 点中某一个你想要加javadoc的函数或类或变量,然后选这项,它会自动帮你加好javadoc的头,包括你用的那些param或return- surround with try/catch block: 比如你有一段代码要处理某些exception,可你又忘了用try/catch来写,别急,选中那段代码,然后选这项,你会发觉它会自动针测你这段代码里要抛出哪些exception,并且自动生成好所有代码- externalize string: 这个是在做国际化的时候用的,简单的说,就是把string包在resource bundle里, 这也是i18n的一个解决方案,我想我以后会详细介绍这方面的东西.2. 重构功能:重构这两年很热, 那让我们看看jdt里面的重构到底有多强. 呵呵, 这也是eclipse最吸引我的一个地方.打开菜单+ Refactor- Rename: 如果你写了一个类,你发觉这个类某个类变量的名字起的不太好听, 你觉得不爽, 于是你就想改名字, 那怎么改呢, 就把那个变量名改了? 呵呵,没那么简单,因为你这个变量如果已经在某些函数里引用到,那编译要出错了, 而且你根本就不知道你哪里引用了, 写了那么多代码,脑子都晕了, 那不是死菜了吗? 别紧张, 用这个rename可以帮你解决一切问题, 它不仅可以帮你把变量的名字改了,而且它还会自动搜寻所有这个变量被引用到的地方,然后把那些地方也一起改了, 爽不爽啊, 给你省了很大的劳动力不是.- Move: 同样, 要移动一个实现了的静态函数或变量到别的类的话, 用这个移动, 保证不出错- Modify Method Signature: 你设计函数不可能一下子就定型的,比如你一开始这个函数有一个参数,后来发觉不对,要用两个, 那你就要用这个来改, 这样它还会搜寻所有已经引用这个函数的地方, 并且把这些应用的地方也改掉,否则编译也要出错的- Extract Interface: 它可以帮你把一个类抽象成一个接口, 规范你的代码- Extract Method: 如果你写了一段很长的函数, 但是这个函数有些代码有重复利用性, 你就可以把给分割出来, 选中那段代码,然后选这项,系统会问你抽出来的函数的定义, 然后它就会生成这段函数,把实现从原来函数那里抽出来,并在原来函数那里写一个对这个新函数的引用,以保证程序不变性.- Extract Local Variable: 如果你发觉你函数里有些值都是通过一样的表达式得到的,你就可以通过这项把这段表达式变成一个变量,并且把这个变量替换到引用到表达式的地方- Extract Constant: 抽取常量, 比如一个string= "eclipse", 你觉得很多地方要用到, 那就抽出来变成一个常量ECLIPSE, 就这么简单- convert local variable to field : 这个看名字就知道, 不多说了- encapsulate field: 这个和生成getter,setter有点类似, 但是不同的在于,如果你有一个public的常量var,并且已经在别处引用到了, 那你用生成getter,setter肯定有问题, 因为引用的地方没改过来, 用这个的话,不仅会生成getter,setter,而且还会改掉所有引用的地方, 比如把var = ...;的地方改成setvar(...), 把 ... = var地方改成 ... = getvar(); , 呵呵,够强把...3. 敏感帮助:这个jb之类的ide也有, 启动方式为"alt+/" , 你如果觉得这个不爽,可以选preference->workbench->keys->edit->content assist 修改键值而且,这个敏感帮助还有一个强的地方在于:你如果想写一个for语句, 呵呵, 就打for, 然后alt+/, 选一个for 的生成方式, 一个完成的for语句就出来了, 呵呵,eclipse多用用, 人都会变懒的这个功能其实是jdt的模板功能,你也可以加自己用的模板, 具体在preference->java -> editor ->templates 加4. Quick Fix功能:比如我们来编一个类A, 如下:public class A {public static void main(String args[]){System.out.prin("Hello World");}}编译是不通过的,print方法打错了, 打成prin了所有你会发觉那一行的左边有个红差差,说明这行有错误,你把鼠标移到那个红差差上,它会有一个提示出来,告诉你出了什么错了这还不止,你还发觉在红差差左边有个电灯泡, 你点那个电灯泡,它会弹出框问你是change to print 还是change to println, 选择change to print, 它就自动帮你改好了,呵呵,连改错都这么方便,太爽了. 当然,如果没有电灯泡的话,你就只能手动改了,毕竟这东西没这么智能,可以帮你自动解决所有的问题ftp:///mirror/sites//这个目录是也是一个Eclipse网站的镜像,但是为什么没有公布在网站上,这我就不清楚了你可以从上述网站上找到Eclipse的下载包上了网站,你会发现有许多Eclipse版本,有1.x, 2.x, 3.x,那到底该用什么版本呢?[Eclipse 版本(以及WSAD版本)]IBM有个深受大家欢迎的产品,叫做Webshpere Studio Application Developer (WSAD),当时WSAD4.0发布时用的Eclipse是1.0版本的,后来IBM把Eclipse捐献出来后,就陆续开发了2.x版本,而且也应用到了后来的WSAD产品,现在WSAD5.0用的是Eclipse 2.0, WSAD5.1 用的是Eclipse 2.1.1.现在 Release的最近Release的版本是Eclipse 2.1.3, 相信大家平时要用Eclipse做开发的话,用2.1.3比较合适.同时,如果你如果想尝尝鲜的话,就试试Eclipse 3.0版本,现在3.0还没有Release,Eclipse 3.0的开发过程是分成10个Milestone来分的,现在已经开发到第8个Milestone,就是Eclipse 3.0M8. 大家可以试试. 预计3.0的正式版本要到今年6月发布, 相信到时候发布不久后, WSAD6.0就会发布了. 呵呵,期待啊@_@另外对于Eclipse的开发,还有一种版本标记方式,是分别已N, I, R 打头的, 比如N20040101之类的, 大家会觉得纳闷,这到底代表什么意思呢. 其实, N 是NightlyBuild , I 是Integration Build, R 是Release Build, 特别是对于大型软件, 有时编译一个项目要花很多时间, 所以很多时候编译的工作就放在了夜里, 所以就有了Nightly Build 这一说, 而Nightly版本在经过集成测试,就生成了Integration 版本.Integration版本再经过严格的测试,最后就发布Release版本. 所以稳定性程度: R >I > N.相信大家了解了这个版本后,就可以当自己想要的版本了.等当好了之后,我们就可以安装了[Eclipse 安装] (以R2.1.3 版本为例)当下来的东东是一个压缩包, 然后你要做的就是把这个压缩包解压都某一个目录,为了方便介绍,我们叫这个目录为.让我们展开一下这个目录看看:|--- /plugins 存放插件的目录(稍后介绍)--- /features 存放功能部件的目录(稍后介绍)--- /links 其他plugins和features的连接地址的存放目录(稍后介绍)--- /readme--- eclipse.exe 启动Eclipse程序--- ...[启动Eclipse]但是如果你机器还没有装jre的话,那eclipse还是不能启动的如果没有的话,去当一个jre,安装好jre之后才能启动如果你同时有几个jre, 那eclipse会自动搜索注册表,并找到版本高的jre使用.提示: 如果想指定eclipse使用你想它使用的jre的话,可以设置eclipse.exe的启动参数:eclipse.exe -vm然后你就可以启动eclipse了, 慢慢等, 还是挺慢的, 你可以顺便喝口茶, 欣赏欣赏eclipse的splash画面, 呵呵启动好后, eclipse的开发平台就展现你的眼前了.在这个启动的时候, eclipse自动创建了一个workspace, 你可以在的目录下看到一个workspace的目录,这个目录下还有一个.metadata 的目录,这个目录存着你这个启动的工作区的所有配置.当然,如果你不想把workspace这个工作区目录放到别的目录下,也没有问题,设置一下eclipse的启动参数:eclipse.exe -data以后,你如果同时要开发好几个项目, 当时有不想放一个工作区里, 学会启动的不同的工作区是必要的(前言)大家根据上一讲,加之好好练习,相信您会越来越喜欢用eclipse来开发java程序的. 那今天这篇, 应ForEclipse版友的要求, 就写一篇关于eclipse下使用cvs的文章.而且昨天那篇水贴,大家都谈了谈使用感受,我也觉的受益非潜. 呵呵, 就来总结一下把.(正文)[CVS 简介]CVS 是Concurrent Versions System的缩写,基于Unix体系中成熟的SCCS(SourceCode Control System)和RCS(Revision Control System)开发,是一个开放源码的项目,目前已是版本控制系统的主流软件.一个很常见的使用CVS的场合,就是开放源码项目.由于开放源码项目的开发者的分布性,对于版本管理的要求更加严格,而目前大部分的开放源码项目几乎都是采用CVS来管理源代码,CVS的标准性和强大可见一斑.CVS采用客户机/服务器体系,代码以及各种版本存储在中心服务器内,每一个个体开发者开发时都首先从服务器上获得一份自己的拷贝,在此基础上进行开发,以避免直接影响服务器上的数据.开发者可以随时把自己的新代码提交给服务器,并通过更新获得代码的最新状态,保持与其他开发者的一致.CVS对于网络是透明的,开发者可以使用客户端软件(几乎所有的平台上都有相应的客户端软件)在任何时候,任何地点通过网络来获取最新的代码.对于Eclipse的开发者而言,Eclipse本身内置了CVS支持,不需要使用其他客户端软件,只要建立一个CVS服务器,就可以使用这一强大的版本控制系统了. [CVS 安装和配置]这里只介绍windows下的cvs实现CVSNT,CVSNT的安装有一定困难,我简单介绍一下.当然首先要说一下哪里可以下载到cvsnt, 就在/ ,现在的最新版本CVSNT 2.0.41 (Wednesday 21st April 2004)CVSNT的windows版本在nt, 2000 , xp, 2003 都可以安装的.当下来后第一件事情就是setup, 安装好后,从开始菜单的程序组中启动CVSNT配置程序service control panel.这时应该看到服务器还没有运行(CVSNT作为系统服务运行),如果已经运行了,先把它停下来.选择第二个选项卡Repositories,这里我们假设数据库都存储在E:\work\cvsrepo下,点击Add, 然后点击省略号按钮来选择E:\work\cvsrepo作为数据库路径.它会提示你这个数据库没有初始化,问你是否要初始化,选是. 然后, 我们选到service status 选项卡, 启动server.由于cvs的帐户默认是和windows domain用户联系在一起的, 所以可以通过在windows里的控制面板添加用户,比如我们添加一个user, username= userid,password= passwd. 我们会在后面使用到.[Eclipse下cvs 的使用]在eclipse使用cvs前,首先要连上cvs服务器, 打开cvs repository透视图, 这个透视图里有个cvs repository视图, 在这个视图中,右键点击选菜单New->Repository location. 此时会谈出一个add cvs repository对话框. 然后填写此对话框的各项信息:host: localhost (如果你cvs server装在自己机器上) repository path: e:/work/cvsrepouser: useridpasswd: passwdconnection type: pserver一切操作正常的话, eclipse就能连上cvs了. 接下来我们要开始介绍如何具体使用了.1. share project & disconnect首先一个project想加入cvs 控制的话, 就要share project, 用以把所有project下的信息加入cvs下控制. 操作方式就是: 选中你要share的project,然后右键点击弹出菜单, 选team-> share project但是这里要注意的是, 不是所有的文件都应该加入cvs的,比如编辑器生成的临时文件,编译生成的.class文件,或者某些编译过程生成的二进制文件等等.因此,Eclipse并不自动把所有文件存储到数据库中,需要开发者手工指定把那些文件存储到数据库中,也就是加入版本控制add to version control.对于单个文件的指定,可以随时在Resource Perspective或Java Perspective中的文件上使用右键,选择Team,Add to Version Control.如果需要存储整个项目或者同时指定多个文件,则要使用同步(Synchronize)视图.如果一个已经在cvs控制下的project,你想与cvs断开, 也很简单,选中那个project,然后右键点击弹出菜单,然后选team->disconnect2. check out如果想从cvs上, 下到本地,参加团队开发, 就先在cvs repository 视图里浏览cvs里的内容, 找到你要找的project, 然后右键点击, 选择check out as project,这样eclipse就会自动从cvs上check out下来这个project, 可以开始团队开发了3. 推荐使用的cvs步骤理想的开发工作流是这样的:Workbench#1 ----------------------------------------------------->/\ /\/ \ / \update/ \commit update/ \commit/ \ / \Branch ----------------------------------------------------->\ /\ /update \ / commit\/Workbench#2 ----------------------------------------------------->*: 从最新状态开始.开始工作前,要保证所有资源与最新的分枝状态一致.对于从头开始的新项目,首先要连接服务器,设定存储那些资源文件.对于在服务器数据库中已经有记录的项目,首先要通过更新来保证资源状态最新.如果本地的工作没有需要特别保存的,可以直接把数据库中的最新版本Check Out As Project,或者ReplaceWith,Latest from Repository.*: 进行本地工作,保存修改.*: 同步.当做好提交工作的准备后,要和服务器数据库同步.**: 首先应该更新(Update),检查所有的Incoming改变,输入到本地,看是否会影响自己的工作,是否会造成冲突,破坏完整性等等.**: 检查完更新后,可以确认自己的工作和最新的Branch内容是一致的,就可以提交(Commit)自己的修改了,标上适当的注释.以上推荐步骤一定要严格执行,否则后果自负!!4. 其他使用提示commit: 当完成对文件或者项目的修改,需要确认修改,把最新的状态存储到数据库中去,就需要执行提交(commit)操作.类似的,我们可以在Resource Perspective或Java Perspective中的文件上使用右键,选择Team,Commit;或者在Synchronize视图中同时提交多个文件乃至整个项目.注意,每次提交时都会提示输入注释,这是很重要的,作为每一个状态的说明和提示.merge: 当我们需要把文件或者项目的不同版本进行比较或者替换时,可以在ResourcePerspective或Java Perspective中的文件上使用右键,选择Team,CompareWith或者Team,Replace With来完成.进行比较时将打开一个比较编辑器,很好地表示不同版本之间的差异,和Local History类似.explorer: 如果要了解CVS数据库的内容情况,可以使用CVS Repository ExploringPerspective.我们可以点击Eclipse左上角的开启视图按钮,增加这一视图到左边的视图浏览栏里.前面已经提到,HEAD代表CVS数据库里的主流内容.展开Versions,可以看到以往的版本.另外,在右下角有数据库的历史记录标明每次修改的相关信息.[其他相关资源]*: Eclipse Help中的Workbench User Guide中的GettingStarted ->Team Tutorial 和。

Eclipse-简明教程(全)

Eclipse-简明教程(全)
80
Data –开始
Data –开始
方案基本定义数据段:标题,开始的时间 油藏描述数据段:厚度、孔渗 流体性质数据段:高压物性 岩石—流体数据段:相渗曲线、毛管压力 油藏初始条件数据段:油气水界面、水区 分区数据段 井数据段:井位、完井位置、井史 输出控制段 敏感性分析
81
82
Data –开始
FloGrid 模块
--File containing the deviation data FILE “ well. dev " END
FloGrid
WELLNAME: 'PROD1' 554378.2 6805876 554378.2 6805876 554378.2 6805876 554378.2 6805876 554378.2 6805876 554378.2 6805876 554378.2 6805876 554378.2 6805876
FloGrid
一. 导 入 数 据
12
FloGrid
一. 导 入 数 据
13
FloGrid
一. 导 入 数 据
14
FloGrid
一.

入 数
Import Contour Maps

X Y Property
79.0 6500 3016 100. 6489 3016 200. 6431 3016
建 立 网 格 模 型
角 点
46
FloGrid
三. 建 立 地 质 模 型
建 立 网 格 模 型
角 点
47
FloGrid
三. 建 立 地 质 模 型
建 立 网 格 模 型
块 中 心

ECLIPSE用户手册(全文上载)

ECLIPSE用户手册(全文上载)

ECLIPSE用户手册(全文上载)目录数据文件综述RUNSPEC 部分GRID 部分EDIT 部分PROPS 部分REGIONS 部分SOLUTION 部分SUMMARY(汇总)部分SCHEDULE部分关键字描述(按字母顺序排列)ACTNUM活节点的识别ADD在当前BOX中指定的数组加一个常数ADDREG给某一流动区域内指定的数组加一个常数ADDZCORN给角点深度数组加一个常数APIGROUP给API追踪中的油PVT表分组APIVDAPI追踪平衡的深度与原油比重(API)的关系AQANTRC指定分析水层的示踪剂浓度AQUANCON定义分析水层的相关数据AQUCON数值化水层与油藏的连接AQUCT说明Carter-Tracy水层的特征数据AQUFETTetkovich 水层的特征数据AQUFETP说明Fetkovich 水层的特征数据AQUNUM给一个网格块赋值一个数值化水层AQUTABCarter-Tracy水层的影响函数表BDENSITY盐水地面密度BOUNDARY定义在打印网格表中显示的网格范围BOX重新定义当前输入的BOXCECON生产井射开节点的经济极限COLLAPSE识别在压缩VE选择中可压塌的单元COLUMNS设置输入数据文件的左右范围COMPDAT井完井段说明数据COMPFLSH井射孔段的闪蒸转化比COMPIMB井射开网格的渗吸表号COMPINJK用户定义的注入井相对渗透率COMPLUMP为自动修井而将射开网格归在一起COMPRP重新标定井射开节点的饱和度数据COMPVE垂直平衡(V.E.)运行时,井射孔深度的重设定COORD坐标线COORDSYS坐标系统信息COPY从一个数组拷贝数据到另一数组COPYBOX从一个BOX向另外一个拷贝一组网络数据CRITPERM对VE节点压缩的渗透率标准DATE输出日期到汇总文件DATES模拟者事先指定报告日期DATUM基准面深度,用于深度校正压力的输出BEBUG控制检测输出DENSITY地面条件下流体密度DEPTH网块中心深度DIFFC每一个PVT区域的分子扩散数据DIFFDP在双重介质运行中,限制分子扩散DIFFMMF基质-裂缝的扩散乘子DIFFMRR方向的扩散乘子DIFFMTHTθ方向扩散系数乘子DIFFMXX方向的扩散乘子DIFFMYY方向的扩散乘子DIFFMZZ方向的扩散乘子DIFFRR方向的扩散系数DIFFTHTθ方向的扩散系数DIFFXX方向扩散系数DIFFYY方向扩散系数DIFFZZ方向扩散系数DPGRID对裂缝单元使用基质单元的网格数据DRR方向网格的大小DRSDT溶解 GOR的增加的最大速度DRVR方向网格大小(矢量)DRVDT挥发油的 OGR的增加的最大速度DTHETAθ方向的网块大小DTHETAV网格的角度大小(向量)DXX方向的网格大小DXVX方向网格大小(向量)DYY方向网格大小DYVY方向网格大小(向量)DZZ方向网格大小DZMTRX基质块的垂直尺寸DZMTRXV基质岩体块的垂直尺寸(向量)净厚度ECHO接通重复输出开关EDITNNC改变非相邻连接EHYSTR滞后作用参数和模型选择END标志SCHEDULE部分的结束ENDBOX将BOX恢复到包含全部网格ENDNUM端点标定与深度区域号ENKRVD相对渗透率端点与深度关系表ENPTVD饱和度端点与深度关系表EQLNUM平衡区号数EQUALS在目前的BOX中设置数组为常数平衡数据评述EXTRAPMS对表的外插请求预告信息FIPNUM流体储量区域号GCONINJE对井组井/油田注入率的控制/限制GCONPRI为“优先”而设的井组或油田产量限制GCONPROD井组或油田的产率控制或限制GCONSALE井组或油田的售气控制产率GCONSUMP井组的气消耗率和引进率GCONTOL井组控制目标(产率)的允许差额GECON井组或油田的经济极限数据GLIFTLIM最大井组人工举升能力GRAVITY地面条件下的流体密度GRIDFILE控制几何文件网格的容量GRUPRIG给井组配置修井设备GRUPTREE建立多级井组控制的树状结构GSEPCOND井组设置分离器IMBNUM渗吸饱和度函数据区域IMBNUMMF基质一裂缝渗吸区域号IMPES建立IMPES求解过程INCLUDE包含数据文件名INIT要求输出初始文件INRAD径向模型的内径KRG标定气相对渗透率的端点KRNUM方向性相对渗透率表格数KRNUMMF基岩-裂缝流动饱和度表号KRO标定油相对渗透率端点KRW标定水相对渗透率端点LOAD调入一个 SAVE文件以便执行一个快速重起动MESSAGES重设置打印和停止限定的信息MINPV设置活动网格的最小孔隙体积MINPV建立一个有效网格的最小孔隙空间MISCNUM混合区数目MONITOR请求实时显示输出MULTIPLY当前定义区中的数组MULTRR 方向传导率乘子MULTTHTTHETA方向传导率乘子MULTXX方向传导率乘子MULTYY方向传导率乘子MULTZZ方向传导率乘子NEWTON输出迭代计数到汇总文件NEWTRAN标定使用块拐角传导率NEXTSTEP建立下一时间步最大值NNC非相邻连接的直接输入NOECHO关闭输出的响应NOGGF压缩网格几何模型文件NODPPM非双孔的渗透率乘子NOWARN压制ECLIPSE警报信息NTG厚度净毛比OILAPI初始原油API值,以便API示踪选择OLDTRAN标定块中心传导率OLDTRANR标定任意一块中心传导率OPTIONS开启特别程序选择OUTRAD径向模型外半径OVERBU岩石负载压力表PERMRR方向绝对渗透率PERMTHTθ方向绝对渗透率PERMXX方向绝对渗透率PERMYY方向绝对渗透率PERMZZ方向绝对渗透率PINCH建立尖灭层上下的连接PINCHOUT建立尖灭层上下的连接PMAX模拟中的最大压力PMISC与压力有关的可混性表PORO网格孔隙度PORV网格孔隙体积PRESSURE初始压力PRIORITY为井的优先级选项设置系数PRVD原始压力与深度关系表PSEUDOS为PESUDO包要求输出的数据PVCO含气原油PVT性质PVDG干气的PVT性质(无挥发油)PVDO死油的PVT性质(无挥发油)PVTG湿气的PVT性质(有挥发油)PVTNUMPVT区数目PVTO活性油的PVT性质(有溶解气)PVTW水PVT性质QDRILL在钻井队列中安置井RESTART设置重启动RESVNUM对一给定油藏输入角点坐标数据ROCK岩石压缩系数ROCKNUM岩石压实表格区数ROCKTAB岩石压实数据表ROCKTABH滞后岩石压实数据表RPTGRID从GRID部分输出控制RPTONLY摘要输出的常规限制RPTPROPS控制PROPS部分的输出RPTREGS控制REGIONS部分的输出RPTRST输到RESTART文件的控制RPTRUNSP控制RUNSPEC部分的数据输出RPTSCHED控制SCHEDULE部分的输出RPTSMRY控制SUMARY部分的输出RPTSOL控制SOLUTION部分的输出RS初始溶解气油比RSCONST为死油设置的一个常数R s值RSCONSTT为每一个死油PVT表设置的一个常数Rs值RSVD用于平衡选择的Rs与深度关系表RUNSUM所需的SUMMARY数据的制表输出RV初始挥发油气比RVCONST为干气设置的一个常数Rv值RVCONSTT为每个干气PVT表设置一个常数Rv值RVVD用于平衡选择的Rv与深度关系表SALT初始盐浓度SALTVD用于平衡的盐浓度与深度关系SAVE用于快速重启文件而需输出的SAVE文件SCALELIM设置饱和度表的标度限制SDENSITY在地面条件的混相气密度SEPVALS分离测试的Bo和Rs值SGAS初始气饱和度SGCR临界气饱和度的标度SGFN气体饱和度函数SGL原生气饱和度的标准SGOF气/油饱和度函数与气饱和度SGU最大气饱和度的饱和度表的标度SIGMA双重孔隙基岩-裂缝的连结SIGMAV双重孔隙度基岩-裂缝连结(向量)SLGOF气/油饱和度函数与液体饱和度SOF2油饱和度函数(2相)SOF3油饱和度参数(3相)SQGCR临界的气中含油饱和度的标度SOMGASSTONE1模型中含油饱和度最小值SOMWATSTONE1模型中最小油饱和度值SORWMIS混相残余油饱和度数表SOWCR标度临界水中含油的饱和度值SPECGRID网格特性的详细说明STOG油气表面张力与压力STONEI三相油相对渗透率模型STONE2三相油相对渗透率模型STOW油水表面张力与对应压力SWAT初始水饱和度SWATINIT标定毛管压力的初始水饱和度SWCR临界水饱和度的标度SWFN水饱和度函数SWL原生水饱和度的标定SWLPC仅对毛管压力曲线标定原生水饱和度SWOF水/油饱和度函数和对应的水饱和度SWU饱和度数表中最大的含水饱和度的标定TBLK示踪剂的初始浓度THPRES门限压力TLMIXPARTodd-Longstaff混合参数TNUM示踪剂浓度区TOPS每个网格的顶面深度TRACER被动的示踪剂名TRACTVD为示踪剂要求“流率极限传输”TRANRR方向的传导率TRANTHTθ方向的传导率TRANXX方向的传导率TRANYY方向的传导率TRANZZ方向的传导率TSTEP把模拟器推向新的报告时间TUNING设置模拟器控制参数TVDP初始示踪浓度与深度表TZONE过度带控制选择VAPPARS油挥发控制VEDEBUG对垂向平衡和压缩垂向平衡选择控制调整VEFRAC垂向平衡曲线系数的应用VEFRACP垂向平衡拟毛管压力系数的使用VEFRACPV垂向平衡拟毛管压力系数的使用VFPINJ对注水井输入V .F.P表VFPPROD对生产井输入V.F.P表WBOREVOL对井筒贮存设置体积WCONHIST历史拟合井观测产量WCONINJ设有组控制的注入井的控制数据WCONINJE对注入井控制数据WCONPROD对生产井控制数据WCUTBACK井减产限制WCYCLE井自动循环开与关WDRILRES防止在同一网格中同时开两口井WDRILTIM新井自动开钻的控制条件WECON生产井的经济极限数据WEFAC设置井的效率系数(为停工期)WELDEBUG个别井的跟踪输出控制WELDRAW设置生产井的最大允许压差WELOPEN关闭或重开井或井的射开层WELPI设置井的生产/注入指数值WELPRI设置井的优先数WELSOMIN自动开井的最小含油饱和度WELSPECS井的综合说明数据WELTARG重新设置井的操作目标或限制EGASPROD为控制销气而设置的特别产气井WGRUPCON为井组控制而给井设置指导产率WHISTCTL给历史拟合井设置覆盖控制WLIFT自动换管单和升举的开关数据WLIMTOL经济和其它限制的容差分数WORKLIM每次自动修井所花的时间WPIMULT用给定值乘以井射开层的地层系数WPLUG设置井的回堵长度WSALT设置注入井的盐浓度WTEST命令对已关着的井进行周期性测试WTRACER给注水井设置示踪剂浓度ZCORN同格块角点的深度1 数据文件综述综述Eclipse数据输入文件可分成几个部分,每一个部分由一个关键字词引导。

第4章 高级Java开发技术 Eclipse从入门到精通教学课件

第4章  高级Java开发技术 Eclipse从入门到精通教学课件

4.2.2 JUnit和Eclipse的关系
前面提到了JUnit的作者Erich Gamma,他同时还负责 了Eclipse的开发,包括JFace的开发和JDT中一些工具的开 发。Kent Beck则是极限开发的倡导者,Eclipse中的不少 开发工具都体现了极限开发的思想。Erich Gamma和Kent Beck在Eclipse项目的早期,写了多本关于Eclipse的图书 ,推动了Eclipse的普及。
4.2.6 输入测试代码
下面试着写一段测试代码。如下面代码那样,修改 testAdd()方法,加入测试的代码。测试的过程是:先建立 两个Money对象,分别是m12CHF、m14CHF。m12CHF 的数值是12,m14CHF的数值是14。然后调用m12CHF的 add方法,与m14CHF相加,得出一个新的Money对象—— result。最后用assertTrue方法,验证得出的result的值是 否与预期的expected对象的值相等。
4.3.7 迁移属性或方法到父类
在MoneyImplement类中添加一个方法getName()。当 然这个方法没有什么特别的意义,在这里只是为了迁移方法 到父类的功能。
public String getName(){ return ""; }
4.3.8 提取匿名类
在程序开发初期,为了开发方便,经常会使用匿名类。 随着程序的修改,要求的功能增强,匿名类中的代码可能随 之增多;或者某个匿名类中的功能需要做成可重用的类。这 时候就可以考虑把匿名类提取出来,建立成独立的类了。
4.4.5 对类成员进行排序
代码在经过不断的修改,不断地加入各种字段变量、属 性、方法后,往往会变得比较混乱。虽然Eclipse中有JDT 提供的概览视图,可以快速地定位到指定的对象上。但还是 要考虑一下不依赖工具时候,也能方便地阅读源代码。我们 一直都要坚持“代码即文档”的原则,尽量让文档便于阅读 。前面我们知道JDT提供了快速格式化的功能,可以把代码 的版面编排整齐。JDT还提供了一个对类成员进行排序的功 能,让字段变量、属性、方法按照指定的顺序排列,方便阅 读。

Eclipse 使用说明书

Eclipse 使用说明书

Copyright© Interacoustics A/S:版权所有。

本文档中的信息归 Interacoustics⅍专有。

本文档中的信息如有更改,恕不另行通知。

未经 Interacoustics A/S事先书面许可,不得以任何方式或手段复制或传播本文档的任何部分。

目录1简介 (1)1.1关于本手册 (1)1.2使用说明 (2)1.2.1预期的操作人员 (2)1.2.2患者人群 (2)1.2.3禁忌症 (2)1.3产品说明 (3)1.4警告 (4)1.5故障 (5)2开箱和安装 (6)2.1检查 (6)2.2标记 (7)2.3硬件安装 (8)2.3.1将病床 /椅子放在地上 (9)2.3.2Eclipse 后面板 (10)2.3.3Eclipse前部面板 (10)2.3.4前置放大器按钮 (11)2.4软件安装 (11)2.4.1安装前须知 (11)2.4.2计算机系统最低要求 (11)2.4.3所需材料: (12)2.4.4软件安装 (12)2.4.5驱动程序安装 (13)2.4.6恢复软件出厂默认设置 (13)2.4.7安装语言包 (13)2.5识读台 (15)2.6许可证 (15)2.6.1Eclipse序列号 (15)2.6.2DSP序列号和许可证密钥 (15)2.7从 OtoAccess® 数据库启动 (16)2.7.1OtoAccess® 数据库中的模块设置 (16)2.8从Noah启动(仅 ASSR 或 IA OAE Suite) (17)3EP15/EP25操作说明 (18)3.1记录标签 (19)3.1.1主菜单项 (19)3.1.2电子帮助 (20)3.1.3查看历史会话 (20)3.1.4协议选择 (20)3.1.5临时设置 (20)3.1.6重新排列曲线 (20)3.1.7波形分组 (20)3.1.8报告 (20)3.1.9打印 (21)3.1.10显示A-B曲线 (21)3.1.11显示对侧曲线 (21)3.1.12授话 (21)3.1.13单曲线显示 (21)3.1.14分屏显示 (22)3.1.15保存并新建 (22)3.1.16保存并退出 (22)3.1.17刺激率选择 (22)3.1.18频率选择 (23)3.1.19刺激窗口 (23)3.1.20手动刺激窗口 (23)3.1.21状态窗口 (23)3.1.22波形再现性 (24)3.1.23开始/停止 (24)3.1.24暂停 (24)3.1.25下一强度 (24)3.1.26Fmp与残留噪声曲线图 (24)3.1.27扫描数/平均数的扩展 (25)3.1.28原始EEG (25)3.1.29高级EEG (25)3.1.30隐藏刺激伪影 (26)3.1.31显示增益 (27)3.1.32记录窗口 (27)3.1.33选择波形 (27)3.1.34移动单条曲线 (27)3.1.35显示微分曲线 (27)3.1.36为波形增添一条注释 (28)3.1.37拒收监测 (29)3.1.38放置波形标记 (29)3.1.39删除波形标记 (29)3.1.40建议波形标记 (30)3.1.41标准化潜伏期数据 (30)3.1.42删除单条曲线 (30)3.1.43放大/缩小单条曲线 (30)3.1.44隐藏单条曲线 (31)3.1.45固定单条曲线/与历史会话进行比较 (31)3.1.46合并曲线(创建加总曲线) (31)3.1.47添加曲线 (32)3.1.48同侧减对侧差值(Ipsi-Contra)曲线 (32)3.1.49A减B差值(A-B(N))曲线 (32)3.1.50修改显示滤波 (33)3.1.51记录的曲线状况 (33)3.1.52向曲线添加备注 (33)3.1.53使用光标 (34)3.1.54信噪比计算(3:1) (34)3.1.55CR、RA和INC波形标记 (34)3.2潜伏期标签 (35)3.2.1潜伏期值 (35)3.2.2潜伏期间值 (35)3.2.3潜伏期曲线图 (36)3.2.4显示波峰至波谷标记(SN10标记)(仅EPx5软件) (37)3.3Windows® 8, 10 和 11 无法启动帮助 (37)3.4电脑快捷键 (38)3.5测试前患者准备 (39)3.5.1阻抗检查 (39)3.5.2换能器 (39)3.6进行ABR阈值记录 (40)3.6.1电极画面 (40)3.6.2ABR阈值刺激 (40)3.6.3编辑ABR阈值记录 (41)3.6.4使用ABR阈值结果说明 (41)3.7进行神经潜伏期记录 (42)3.7.1电极画面 (42)3.7.2编辑神经潜伏期记录 (42)3.8进行eABR记录 (44)3.8.1两个推荐eABR电极画面 (44)3.8.2编辑eABR记录 (44)3.8.3电气阈值估算(用于人工耳蜗安接) (45)3.9进行ECochG记录 (46)3.9.1ECochG 电极安装 (46)3.9.2编辑ECochG记录 (48)3.10进行CM记录 (49)针对患者的准备工作至关重要 (49)3.10.1CM电极画面 (49)3.10.2用于CM记录的刺激 (49)3.10.3CM记录示例 (49)3.10.4CM结果内差值 (49)3.11进行AMLR记录 (50)3.11.1电极画面AMLR示例 (50)3.11.2可用AMLR刺激 (50)3.11.3AMLR记录示例 (51)3.12进行ALR记录/皮层ERA (52)3.12.1ALR阈值记录的电极画面示例 (52)3.12.2刺激信号 (52)3.12.3ALR结果说明 (53)3.12.4电生理阈值估算和婴幼儿听力仪器安接 (53)3.13进行P300/MMN记录 (54)3.13.1P300/MMN电极画面示例 (54)3.13.2可用P300/MMN刺激 (54)3.13.3P300和MMN参数汇总表 (55)3.14性能/环回(LBK15)测试 (55)4VEMP操作说明 (56)4.1前置放大器设置 (56)4.2VEMP监示器 (56)4.3VEMP波形标记 (57)4.4计算VEMP不对称率(VEMP伙伴) (57)4.5VEMP比例设定 (58)4.6进行cVEMP记录 (58)4.6.1用于cVEMP的电极画面 (58)4.6.2用于cVEMP的刺激 (59)4.6.3默认收集参数 (59)4.6.4程序 (59)4.6.5编辑cVEMP结果 (59)4.6.6cVEMP结果示例 (60)4.6.7cVEMP结果示例 (60)4.7进行oVEMP记录 (61)4.7.1oVEMP电极画面 (61)4.7.2用于oVEMP的刺激 (61)4.7.3默认收集参数 (61)4.7.4程序 (62)4.7.5oVEMP结果示例 (62)5研究模块 (63)5.1.1记录每次扫描(以便以后进行“中继”) (63)5.1.2导出平均曲线和/或完整会话 (64)5.1.3导出会话(所有曲线) (65)5.1.4离线导出波形 (65)5.1.5导入用于刺激的波形文件 (65)6操作说明 (69)6.1耳塞的操作和选择 (69)6.2OAE 设备的日常系统检查 (70)6.2.1探头完整性测试 (70)6.2.2真耳检查 (71)7.IA OAE Suite (72)7.1PC 电源配置 (72)7.2兼容的设备 (72)7.2.1从 OtoAccess® 数据库启动 (72)7.2.2从 Noah 4 启动 (72)7.2.3模拟模式 (72)7.2.4崩溃报告 (73)7.3使用菜单 (74)7.4使用 DPOAE 探头 (75)7.4.1准备测试 (75)7.4.2DPOAE 模块中的元素 (77)7.5使用 TEOAE 模块 (83)7.5.1准备测试 (83)7.5.2TEOAE 模块中的元素 (85)7.6使用打印向导 (90)8.ABRIS操作说明 (92)8.1使用ABRIS模块 (92)8.2安装电极 (92)8.3阻抗检查 (92)8.4回路(LBK15)测试 (93)8.5ABRIS测试屏幕 (93)8.5.1主菜单项 (93)8.5.2查看历史会话 (94)8.5.3保存并退出 (94)8.5.4打印 (94)8.5.5电子帮助 (94)8.5.6报告 (94)8.5.7查看EEG或噪声条 (94)8.5.8刺激窗口 (94)8.5.9测试状态窗口 (95)8.5.10受试耳 (95)8.6进行ABRIS记录 (96)8.6.1开始与暂停测试 (96)8.6.2EEG曲线图 (96)8.6.3EEG噪声条 (96)8.6.4AEP波形 (96)8.6.5备注框 (96)8.6.6状态栏 (97)8.6.7ABRIS反应曲线 (97)8.7电脑快捷键 (98)8.8可拆卸零部件 (98)9.ASSR操作说明 (99)9.1使用ASSR模块 (99)9.2ASSR测试前准备 (99)9.3测试前准备 (99)9.3.1皮肤准备 (99)9.3.2放置电极 (100)9.3.3阻抗检查 (100)9.4安装电极 (101)9.5阻抗检查 (101)9.6系统性能/回路(LBK15)测试 (101)9.7ASSR标签 (102)9.7.1主菜单项 (102)9.7.2协议选择 (102)9.7.3临时设置 (103)9.7.4报告 (103)9.7.5打印 (103)9.7.6保存并退出 (103)9.7.7查看历史会话 (103)9.7.8刺激窗口 (103)9.7.9总会话状态窗口 (104)9.7.10刺激率 (104)9.8进行ASSR记录 (105)9.8.1开始/停止 (105)9.8.2暂停 (105)9.8.3原始EEG曲线图 (105)9.8.4测试频率曲线图 (105)9.8.5CM 检测器 (106)9.8.6ASSR表 (106)9.8.7延长测试时间 (107)9.8.8调整刺激强度 (107)9.8.9中止测试频率/强度 (108)9.8.10ASSR 遮蔽计算器 (108)9.9听力图标签 (110)9.9.1估计的听力图符号 (110)9.9.2NOAH 或 OtoAccess® 数据库中的听力符号 (111)9.9.3估算听力图 (112)9.9.4AC 和 BC 在同一听力图中 (113)9.9.5无反应 (114)9.9.6选定的校正系数 (114)9.9.7电脑快捷键 (114)10.维护 (115)10.1通用维护程序 (115)10.2如何清洁国际听力产品 (115)10.3清洁OAE探头尖 (116)10.4关于维修 (117)10.5保修 (117)11.技术规格 (119)11.1技术规格 - Eclipse硬件 (119)11.2EP15/EP25/VEMP技术规格 (120)11.2.1peSPL至nHL校正值 (122)11.3TEOAE25技术规格 (123)11.4DPOAE技术规格 (124)11.5ABRIS技术规格 (125)11.6ASSR技术规格 (126)11.7电磁兼容性(EMC) (127)11.8Eclipse软件模块概览 (132)11.8.1EP15/EP25/VEMP模块 (132)11.8.2P15/EP25/VEMP模块刺激最大强度 (133)11.8.3TEOAE25模块 (134)11.8.4DPOAE模块 (134)11.8.5ABRIS模块 (134)11.8.6ASSR模块 (134)1简介1.1 关于本手册本手册适用于EP15/25 v4.6软件版本、IA OAE套件1.2、ABRIS v1.6.3、VEMP v4.6和ASSR v 1.3。

eclipse基本使用操作-一定要很熟悉

eclipse基本使用操作-一定要很熟悉

最常用快捷键快捷键功能备注eclipse常用快捷键在开发中,常用的eclipse快捷键:代码补全:alt + /添加和取消单行注释:ctrl + /添加多行注释:ctrl + shift + /取消多行注释:ctrl + shift + \快速复制所选择的代码:ctrl + shift + ↓或↑(注意:该快捷键和windows屏幕反转快捷键重合,需要禁用windows反转快捷键)移动所选择的代码向下或向下移动:alt + ↓或↑删除所选代码:ctrl + d修正代码:ctrl + 1 当书写的程序中出现小红X可以为错误的代码提供一些解决方案快速导入类所在的包:ctrl + shift + o代码格式化:ctrl + shift + fCtrl+1 快速修复最经典的Alt+/ 提供内容的帮助记不全方法类属性最常用输入try 按alt / 自动出现代码try catch 一般很容易出现异常的代码或者是很容易出错误的代码放在try...catch中Ctrl+O显示类中方法属性和大纲查找bug时非常有用(函数列表)多按一次Ctrl+O 列出更多的内部变量Ctrl+/为每行或者选择部分添加注释调试有用Ctrl+D删除当前行最喜欢的快捷键之一Ctrl+F6 界面切换程序名切换Ctrl+F 查找Ctrl+M窗口最大最小化方便进行代码的书写Ctrl+T 快速显示当前类的继承结构Ctrl+L 定位于某行Ctrl+Shift+R快速查找资源免得左边找Ctrl+F3 打开结构(跟Ctrl+O 类似)Ctrl+Q快速定位到最后一个编辑的地方F4 查看类结构Ctrl+F11 运行Ctrl+Shift+L显示所有的快捷键F11 调试最后一次运行的程序Ctrl+Shift+F最常用格式化某段代码不选择某段代码则格式化化整个Java文件Ctrl+Shift+S 保存所有save allCtrl+H全局搜索Ctrl+Alt+↓复制当前行到下一行Alt+↓当前行和下一行相互交换位置Alt+Enter 显示当前资源(工程或者文件)的属性Ctrl+W关闭当前编辑器Ctrl+E快速显示文件下拉列表Ctrl+/(小键盘)显示当前类的所有代码Ctrl+*(小键盘)关闭当前类的所有代码Ctrl+J 查找当前选中的文本块Ctrl+Shift+J 反向查找当前选中的文本块从后往前找Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)上面是最常用的研读代码经常用的不用会很晕Crtl+O切换查看方法(当前查找类成员)Ctrl+T看继承关系重构最常用的快捷键:(注:一般重构的快捷键都是Alt+Shift开头的了)Alt+Shift+R重命名(是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)Alt+Shift+M 抽取方法(这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)Alt+Shift+F 把Class中的local变量变为field变量(比较实用的功能) Alt+Shift+I 合并变量(可能这样说有点不妥Inline)Alt+Shift+V 移动函数和变量(不怎么常用)Alt+Shift+Z 重构的后悔药(Undo)正则表达式:其实就是定义一些规则来简化String字符串的操作通过一些特定的符号组成规则来限定字符串预定的规则正则表达式的书写:是由字母、数字等一些程序中经常使用的符号组合而成学习正则表达式其实就是学习正则中的各种符号(主要了解各种正则符号的含义)正则表达式的符号规则:一般规则:x 表示一个任意字母,字符串中当前某个位置必须包含所指定的x字符例:“abc” 正则:”a[a-z]”\\ 表示反斜线例:\t 表示制表符[abc] 表示当前字符串中某个字符必须是a或b或c []表示是一个范围[^abc] 表示不是[abc][a-zA-Z] 表示所有的大小写字母[a-d[f-h]] 表示字符的范围必须是a到d或f到h (并集)[a-d&&[d-f]] 表示字符的范围必须是d (交集)[a-z&&[^xm]] 表示字符的范围在a到z之间但是不包含x和m[a-d&&[^d-f]] 表示字符的范围必须是a或b或c预定义字符:. 表示任意字符\d 表示的就是数字可以代替[0-9]\D 表示[^0-9]\w 表示字母、数字、下划线可以代替[a-zA-Z_0-9]\W 表示[^a-zA-Z_0-9]\s 表示空白字符边界符:^ 表示行开始$ 表示行结束例:”helloworld” 正则:”^h 此处中间有正则d$数量词:x? 表示可以有0次或1次字符?表示前面的字符可以有0或1次x*表示可以有0次或多次字符*表示前面的字符可以有0或多次x+ 表示可以有1次或多次+表示前面的字符可以有1次或多次x{n}表示必须有n次{n}表示前面的字符只能有n次x{n,}表示至少有n次{n,}表示前面的字符必须有n次以上(不能少于n次) x{n,m} 表示从n到m次{n,m}表示前面的字符有n到m次正则表达式中只有4种功能:匹配、切割、替换、获取正则只属于字符串使用,而正则也是对字符串进行操作(匹配、切割、替换、获取)Eclipse界面简单设置1.重置为默认视图2.查看某一视图(恢复某一视图界面)3.代码模版(删除多余的或者自定义代码模版)4.配置快捷键window-preferences-General5.调整代码字体大小颜色6.显示代码行号7.导入包,资源,光标选中单词,按住ctrl,出现小手标识,单词出现超链接,点击弹出底层源代码9.改文件名称10.小光标放置ctrl+e或者双击11.Tab切换光标往前走,Shift+Table光标往回走12.ALT+CTRL+箭头上复制往上走13.ALT+箭头上往上走14.F4查找树15.查看代码的class文件16.Ctrl+f 查找替换某些内容17.Alt+shift+s???18.格式化代码Ctrl+Shift+f19.ctrl+shift+o代码中导入多个包20.Domain 域,主要描述某一领域的事物动物界等等21.Ctrl+/单行注释Ctrl+/取消单行注释Ctrl+shift+/多行注释Ctrl+shift+\取消多行注释22.Ctrl+A选中全部23.新建文件(.txt...)Eclipse快捷键使用1. 【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。

Eclipse基本知识与学习技巧(重要)

Eclipse基本知识与学习技巧(重要)

Eclipse能做什么? 对已开发油田历史模拟
1).核实地质储量,确定基本的驱替机理; 2).确定产液量和生产周期; 3).确定油藏和流体特性; 4).提出问题、潜力所在区域。
Eclipse能做什么? 动态预测
1).开发指标预测及经济评价 2).评价提高采收率的方法 3).剩余油饱和度分布规律的研究,再现生产历史 动态。 诸如:• 研究剩余油饱和度分布范围和类型;• 单 井调整:改变液流方向、注采井别、注水层位; • 扩大水驱油效率和波及系数;
模拟工作的基本信息:
(1) 设定是进行黑油模拟,还是热采或组分模拟; (2) 模拟采用的单位制(米制或英制); (3) 模拟模型大小; (4) 模拟模型网格类型(角点网格,矩形网格,径向网格或 非结构性网格); (5) 模拟油藏的流体信息(是油、气、水三相还是油水或气 水两相,或是油、气、水单相,有没有溶解气和挥发油等); (6) 模拟油田投入开发的时间; (7) 模拟有没有应用到一些特殊功能(局部网格加密,三次 采油,端点标定,多段井等); (8) 模拟计算的解法(全隐式,隐压显饱或自适应)。
数据保存:
*_PVT
SCAL部分
岩石属性:相对渗透率曲线和毛管压力曲线。 如果是油,气,水三相,需要提供油水,油气相对渗透率 曲线和毛管压力曲线(软件会自动计算三相流动时的相对 渗透率曲线);如果是油,水两相或气,水两相,只需要 提供油水或气水两相相对渗透率曲线和毛管压力曲线。

定义平衡区或直接定义网格的初始饱和度、压力 定义重启动 定义水驱 定义Rs、Rv、Pb、API与埋深的关系
初始化计算参数:
油藏模型初始化 即计算油藏模型初始饱和度,压力 和油气比的分布,从而得到油藏模型的初始储量。 这部分需要输入模型参考深度,参考深度处对应的 初始压力,油水界面以及气水界面;油气比或饱和 压力随深度的变化;如果是组分模型,需要输入组 分随深度的变化。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第37章 在Eclipse中使用Hibernate本章将把Hibernate应用到myweb项目中,对数据库层的代码进行改造,同时还会介绍一些Hibernate工具的使用。

37.1 概述37.1.1 持久化框架产生的背景和现状什么叫持久化?数据在内存中,关机后就会丢失。

而如果把数据保存到后台的数据库中,就能达到“持久”保存数据的目的。

而持久化框架的目的就是为了帮助用户更好地使用数据库。

在Java数据库项目中,由于数据库是关系型而非面向对象的。

很多时候,用面向对象方法完成了前期的设计和分析,到了数据库层编程时就会变得很别扭,其中最痛苦的就是写面向过程的SQL语句。

J2EE开发主要由JSP、Servlet、JavaBean和EJB 4部分组成。

其中EJB是J2EE中一个比较重要的部分,它提供了企业级开发所需的分布式支持。

但现实中的大部分项目都是单服务器的轻量级项目,一般都不会涉及分布式的开发环境,这时用EJB就像大炮打蚊子,蚊子没打到,房子却被打破个洞。

EJB的笨重和复杂一直让开发者很不满,其中EJB中Entity Bean受到的批评最多,现实项目中鲜有使用Entity Bean的成功范例。

开发者急切地需要一种符合Java编程习惯的、适合轻量级开发的、易于使用的数据库持久化解决方案。

在这个背景下就产生了轻量级的数据库持久化技术,其中最主要的就是Hibernate、JDO。

Hibernate是一个民间开源项目,有点像一个草莽英雄,但Hibernate从实用出发的设计思路,使得它脱颖而出成为最流行的持久化技术。

Hibernate的作者Gavin King也一举成名,现已成为EJB 3.0专家组的成员,并且在EJB 3.0的Entity Bean部分,将采用和Hibernate 类似的设计方案。

因此,Hibernate是开发者学习和使用持久化技术的一个比较好的选择,即使以后EJB 3.0一统天下,所学的Hibernate知识也不会浪费。

JDO 2.0是经JCP(Java规范管理委员会,由SUN、IBM、Oracle等共同参与)承认的一个正式规范,所以也受到了开发者很大的关注。

估计未来3年内,持久化技术将以EJB 3.0、Hibernate和JDO 2.0为主,成三足鼎立之势。

第37章 在Eclipse 中使用Hibernate·507·37.1.2 Hibernate 简介Hibernate 把开发者从数据库编程中隔离开来,它在数据库外裹了一层面向对象的外衣,Java 程序中所有进出数据库的操作都交给Hibernate 来处理,它会自动生成SQL 语句操作数据库。

有了Hibernate 后,程序员不再要写繁琐的SQL 语句,也不再要把实体对象一个个字段拆开又组装。

说通俗一点,Hibernate 就像一位卖苦力的民工,脏活累活它全包了。

图37.1是Hibernate 的示意图。

Hibernate 提供了一个和SQL 类似的HQL 语句,但结合Hibernate 后功能更强大,而且Hibernate 能够根据实体对象的状态来自动对数据库进行更新和插入,很智能化。

图37.1 Hibernate 的示意图HQL 语句操作数据库其实也是要转化成标准的SQL 语句的,Hibernate 根据用户所编写的XML 映射文件来实现HQL 到SQL 的自动转化。

XML 映射文件是Hibernate 中最关键的配置文件,它定义了实体类和数据表之间的关系,架起了两者间的桥梁,掌握XML 映射文件的编写是掌握Hibernate 的关键。

Struts 提供视图和控制层的支持,Hibernate 提供数据层的支持,两者是一个很不错的开发组合。

Struts 只能用于Web 开发,而Hibernate 还可用于Application (包括Eclipse 插件)的开发。

37.1.3 本章说明网上有Hibernate 的中文帮助文档(以后简称为Hibernate 文档),由国内的Hibernate 粉丝们翻译。

此Hibernate 文档内容权威而全面,加上翻译得也很不错,所以它是学习Hibernate 的必看文档。

读者可以用Google 搜索关键字“hibernate 3.2 中文”找到这份文档。

不足之处是:由于内容较多,主线不够突出,而且缺乏一个较为系统的实例。

Hibernate 的使用很灵活,但有一些用法是常用的、主要的,有一些则是生僻的、很少用的。

Hibernate 应该掌握的重点内容是:Session 概念、XML 映射文件的配置、HQL 的语法。

本章用一个实例做主线来贯穿这些Hibernate 的核心知识,读者可以顺着这条主线并结合Hibernate 文档来学习。

Eclipse 从入门到精通(第2版)·508· 本章的数据库表和数据模型来自于第4篇的实例代码。

37.2 Hibernate 的下载和安装37.2.1 下载具体步骤如下:(1)如图37.2所示,访问Hibernate 官方网站 ,单击左边菜单的Download 超链接,在下载页面中下载Hibernate Core 和Hibernate Tools 。

前者是Hibernate的核心软件包,后者是一个用于辅助Hibernate 开发的Eclipse 插件。

图37.2 Hibernate 的下载页(2)直正的下载页面会转到著名开源社区 ,如图37.3所示。

选择下载ZIP格式压缩包hibernate-3.2.2.ga.zip ,解压后的目标结构如图37.4所示。

图37.3 下载文件选择 图37.4 Hibernate 解压后的目标结构主要目录及文件解释:hibernate3.jar 文件是Hibernate 的核心jar 包。

lib 目录中有一些Hibernate 运行需要依赖的第三方jar 包,安装时也要用到。

src 目录中是Hibernate (hibernate3.jar )的源文件。

第37章在Eclipse中使用Hibernate ·509·etc目录中有一些可以参考的例子文件。

doc目录中包含Hibernate文档。

37.2.2 安装1.复制jar包将解压目录中的hibernate3.jar和lib目录下的jar包,全部复制到项目的Web-INF/lib目录,如果提示有同名文件(commons-logging-1.0.4.jar),覆不覆盖则都一样。

其他说明如下: 其实并不需要复制lib目录下的所有jar包,本文只是为了安装上的方便。

如果在正式发布程序时,希望只包括真正用到的包,则可以参考解压目录lib中的_README.txt,里面有详细描述。

或者参考Hibernate文档,里面也有部分描述。

注意不要将这些jar包复制到%TOMCAT_HOME%/common/lib目录下,那是Tomcat全局库所在目录,有可能引起包冲突。

检查一下lib目录中是否有重复包(不同版本),如有,则只保留一个最新版的包,否则很可能会引起类冲突。

因此要把antlr-2.7.2.jar删除,保留antlr-2.7.6.jar。

2.创建log4j.propertiesHibernate用log4j包来做日志输出,这就要求项目中创建一个log4j的配置文件log4j.properties,否则有些运行日志就无法看到(不会影响程序运行),另外Eclipse控制台视图会输出如下两条警告信息。

log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig).log4j:WARN Please initialize the log4j system properly.如果读者熟悉log4j,可以自己创建log4j.properties,定义自己想要的日志配置。

如果不熟悉log4j,可以直接将解压目录etc下的log4j.properties,复制到项目的“Java Resourcess:src”下。

注意,由于J2EE透视图拒绝直接复制文件到“Java Resourcess:src”下,所以可以转到Java透视图再复制。

37.3 一个简单的Hibernate实例(V005)37.3.1 创建Hibernate配置文件:hibernate.cfg.xml在“Java Resourcess:src”下创建一个hibernate.cfg.xml文件如下。

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><hibernate-configuration>Eclipse 从入门到精通(第2版)·510· <session-factory><!-- 数据库 --><property name="connection.datasource">java:comp/env/jdbc/mysql</property><property name="dialect">org.hibernate.dialect.MySQL5Dialect</property><property name="show_sql">true</property><!-- 打开Hibernate 的session 自动管理机制 --><property name="current_session_context_class">thread</property><!-- 把所有*.hbm.xml 文件注册在这里 --><mapping resource="cn/com/chengang/sms/model/model.hbm.xml"/></session-factory></hibernate-configuration>配置说明:connection.datasource 设定所用的连接池。

相关文档
最新文档