JBuilder 8 新 特 性
作者:翁驰原
Borland 公司在11月份向外界宣布了JBuilder的新版本Jbuilder8,并将于1月份在北京召开JBuilder 8的发布会。Borland公司在Java开发工具市场上一直占有领先的地位。JBuilder产品可以满足不同层次的开发者的需求,JBuilder 8不仅支持Java 2企业版(Java 2 Enterprise Edition ,J2EE)1.4版本规范,Borland Web Services Kit for Java也集成到这一版本中,JBuilder 8提供了更好的工具来测试EJB应用程序。另外还增加了对Jakarta Struts的支持,让目标管理和调试更加容易,增加了对非Java代码的支持。JBuilder 8与Optimizeit5紧密集成,能够满足应用开发周期(ALM)中不同阶段的需要,因而能够帮助企业加快软件开发速度、降低成本,并提供更好的投资回报。
接下来,我们来看看激动人心的JBuilder 8具体提供了哪些令人兴奋的新特性。本文只列出大部分的新增功能,如果读者想了解的更具体,请参考JBuilder 8的白皮书。
1. JDK 1.4.1
在JDK 1.4.1上运行的JBuilder 8大大提高了开发的效率,在客户端可以更高速的执行
应用。而且也增加了对鼠标滚轮的支持,再以前版本的JBuilder中,只有靠拖动滚动条来修改程序,现在可以直接用鼠标的滚轮键来浏览代码了。还提供了更多关于集中针对管理及Linux上的UI支持。
2. 工程管理
JBuilder 8在工程管理方面也增加了很多新的特性。
工程面板的文件拖拉功能
你可以从桌面用拖拉的方式拖一个文件到JBuilder 8的工程面板里面来,不过这个文件必须是JBuilder 8可识别的文件。你可以编辑这个文件,如果你希望它成为工程的一部分,可以按工程面板顶端的Add Files/Packages按钮。
创建一个空的新文件
你可以通过File|New来创建一个新的空文件
工程组
你可以在两个相关的工程中创建一个工程组来关联两个工程,两个工程彼此依赖如
CLIENT/SERVER,另一种逻辑分组是指不同的项目,使用自己不同的应用服务器或者JDK,但是它们使用相同的代码。以上功能为JBuilder企业版里所特有。
目录视图
你可以在工程里面添加一个目录视图,目录视图列出了一个目录下面的所有文件,当外界改变了这个文件的时候,工程面板中的目录视图有相应的更新。以上功能为JBuilder企业版里所特有。
VisualCafe工程的导入
JBuilder 8能够用向导来顺利导入VisualCafe的工程和文件。
在Required Library里新增一个工程
如果一个工程依赖另外一个工程的话,你可以在Required Library里加入那个工程。
3.调试功能的增强
只有在JBuilder企业版里才有以下的新增功能。
Smart Swap
有了Smart Swap,你就可以在debugging的情况下修改代码了。Smart Swap改变、编译、修改并更新你所修改过的文件。有了它,你可以在当前的执行点上在同一个debugging Session下测试代码。以上功能为JBuilder企业版里所特有。(JBuilder8 的Smart Swap技术是基于JDK 1.4的Hot Swap技术)
设定Execution Point
你可以在当前被调试的线程上增加一个Execution Point,这将改变它当前执行断点的位置。以上功能为JBuilder企业版里所特有。
Smart Source
Smart Source能够改变你的代码的视图,这样你既可以在debugging的时候浏览Java代码,也可以浏览非Java代码。以上功能为JBuilder企业版里所特有。(JBuilder8 的Smart Swap技术是基于JDK 1.4的JSR45技术)
此外:JBuilder8对在debugging中的编辑、Change Watch command、ExpressionInsight Window、File Modified dialog box等都作了优化。
4.在单元测试方面的改进
JBuilder8利用Cactus扩展了它在服务器端的单元测试。当然还是和以前一样支持
Junit,以下是JBuilder8再测试方面支持的新的特性。以上功能为JBuilder企业版里所特有。
Cactus的支持
有了Cactus,Junit可以支持在服务器端的Java代码的测试。
Cactus设置向导
您可以从(Wizard??Cactus Setup)菜单来设置Cactus。
EJB客户端测试向导
EJB客户端测试向导先在可以产生两种类型的Test Client:Junit Test Client和Cactus Test Client。
JUnit Text Collector
在RunTime Configuration属性对话框里有一个新的运行期测试类型属性对话框让你更加简便的识别你的测试用例。
Unit testing Stack Trace Filter
是一个过滤器,能够让用户集中对自己有用的栈信息进行跟踪。
JUnit3.8
JBuilder8里的JUnit的版本是3.8。
5.UML
原来Project Propertys里的UML页在Jbuilder8里被去掉了,里面的两个选项被移到了其他的属性页上去了。其中UML diagrams被移到Project Propertys里的Class Filters页,你可以在Class Filters页里的Name旁边的下拉框中选择UML diagrams图来加入或者执行一些类和包。Diagram References From Generated Source这个用来包含产生代码参考选项被移到Project Propertys里General页里的底部。当你选择了这个选项的时候,UML视图里就包括相关的IIOP 文件和EJB stubs的信息。以上功能为JBuilder企业版里所特有。
6.WEB development
JBuilder8另外一个很重要的新特性是增加了对Struts的支持。Struts是基于Model2或MVC,目的是增强对软件的设计。model包含数据,view是数据的表现,controller控制model和view之间的交互。最典型的view就是一个JSP页面,controller是一个叫ActionServlet的Servlet,model可以是任意的数据访问技术,从JDBC到EJB。整个框架包括了classes 、JSP、Servlet、tag library在HTML和Java代码之间建立了一个清晰的分层和业务逻辑的形象表达。Jbuilder8提供了工具和向导来使你快速的建立一个基于Struts的应用。以上功能为JBuilder企业版里所特有。这些工具和向导包括:
●你可以在Configure Libraries里设置你的Frameworks作为Librarary。
●基于Struts的WEB应用向导、JSP文件、web.xml文件。
●JSP到Struts的转换向导,把一个已经存在的HTML文件和JSP文件转换成使用Struts标签的文件。
●可视化的编辑struts-config.xml文件。
●能够在Action向导里为你的Struts应用创建一个Action Class并注册到struts-config.xml文件中。
●能够在ActionForm向导里创建一个使用一个特定的JSP字段的ActionForm并注册到struts-config.xml文件中,也可以从ActionForm来创建一个JSP文件。
●在Web Application向导里的WAR generation选项在JBuilder8里改成了Build WAR,
有四个选项:
(1)When Building Project Or WebApp:当编译工程或者是Web Application的时候创建WAR文件。
(2)When Building WebApp Only:只在编译Web Application的时候创建WAR文件。
(3)When Building Project Only:只在编译Project的时候创建WAR文件。
(4)Never:不产生WAR文件。
●你可以在JSP里选择来手工的加入JSP 标签库和框架支持,JBuilder8自带的Tomcat版本是4.1,Tomcat4.1不支持JSP的调试。另外在JSTL等方面也由一些改进。
7.Web Services
Web Services功能为JBuilder企业版里所特有。JBuilder8自带了Borland Web Services
for Java,并提供了向导和工具更快的开发Web Services。Jbuilder8可以和各种各样的Web
Services工具包集成工作。只要你选择了Web Services工具包,JBuilder8就可以使你
的工程支持导入服务,输出Web Services的Java Classses。你只需要把工程设置成支持Web
Services就可以输出Web Serveces的EJB。JBuilder8默认把所有的无状态Session Bean远
程接口里的业务方法公布为Web Services的,你可以越过默认行为,手工来设置你想要显示
成Web Services的EJB Modules、Beans、方法。
JBuilder8的Web Services功能和你所选得开发包有关,包括:
●你可以设置你的工程支持Web Services。
●建立一个WSDL文件来表写你所开发的Web Services。
●创建调用Web Service的客户端。
●导入一个描述Web Services的EAR或者WSDL来创建调用服务的类。
●创建服务器端的代码来本地化Services类。
●把Java类转换成Web Services。
●自动的转换无状态Session Bean远程接口里的商务方法。
●再调用服务的时候监听客户端和服务器端的SOAP信息。
●利用Web Services Explorer来查找或者发布一个Web Services作为一个UDDI(Universal Description, Discovery, and Integration)注册。
8.XML
SAX Handler wizard
JBuilder8的SAX Handler wizard使用了JDK1.4里的JAXP。该功能为JBuilder企业版里所特有。
Cocoon
在JBuilder8里Cocoon的版本升级到了2.0.3。在Web Application向导里可以选择Cocoon作为framework,如果你使用Cocoon Web Application向导的话,Cocoon前的框是自动选择上的。以上功能为JBuilder企业版里所特有。
在IDE里的XML选项
在JBuilder8的(Tools|IDE Options)里有个新的选项??Ignore DTD。这个选项是默认选择上的,这样JBuilder不解析DTD,也不报告结构面板里的错误,如果不选择,JBuilder每次都解析DTD并报告结构面板里的错误。
9.运行设置
JBuilder8重新设计了运行期设置属性对话框,在Run这一页里面包含了一个下拉框,你可在里面选择你需要设置的应用程序的类型。当你选择Edit或者Copy功能时,这个框是不能被改动的。
JBuilder8包含了可以让你在JBuilder中象其他工程一样运行、调试、最优化你的开放工具工程的开放工具运行其设置类型,该类型你载下拉框中可以看得到。这样你就不用退出JBuilder,创建一个JAR文件再COPY到相应的目录中去,然后再重新启动JBuilder了。
10.编译系统
Apache Ant的支持
Apache Ant的版本更新至1.5.1,以下是几个新增的功能:
●Build.xml以相对路径显示在工程面板里,你可以右击build.xml文件后选择Properies,在Ant页里修改这个选项。
●使用Ant向导来向工程里新增编译文件,如果你使用向导,系统会自动识别编译文件为Ant
编译文件。
●如果你想要Ant使用JDK工程,在Project Properties里的Build页的Ant页里选择User
Project JDK When Running Ant。
Project Properties里的Build页
在Project Properties里的Build页里有了一些变化:
●Java页??你能选择编译的编译器。把General页里的Enable Assert Keyword选项放到
这里来了。
●General页??新增了Autosave All Files Before Compiling、Refresh Project Before
Building、Generate Source To Output Path等选项。
●ANT页??新增了User Project JDK When Running Ant选项。
●Menu Item页??你能在这里新增一些指定的对象。(例如你设置的ANT命令)
●Web Service页??新增了Regenerate Deployment选项,覆盖Web Services的配置文件。
编译工程组
你能够在Project Group Properties改变一个工程组里个各子工程的编译顺序和定制菜
单项目。
资源管理
可以让你使用Jbuilder不识别的文件,并在编译的时候跟随工程一起复制到相应的目录。
11.配置
不依赖档案文件
当用Archive Builder和Native Executable Builder创建档案文件和创建WAR文件的
时候,你可以不依赖档案文件。Archive Builder和Native Executable Builder在档案文件的属性里的Content页,Web App里的Class页里指定了用不同方式把类和资源整合在一起的几种方式:
Classes: (1)Specified Only (2)Specified And Dependent (3)All
Resource: (1)Specified Only (2)All
例如:如果你想在档案文件中包括所有的类和资源的话,你可以在Classes面板和
Resources面板里都选择All。如果你不想加入这些依赖的资源,而只是想加入自己指定的一些东西的话,你可以在两个面板里都选择Specified Only选项,然后可以用Add Classes按钮假如你想要的东西。如果你加类的话必须加工程输出路径的类,如果是加文件的话必须加入工程的Source路径里的文件。
Archive Builder
Archive Builder现在有了一种新的档案类型,可执行的JAR文件。如果你要把一个已经
存在的JAR文件变成可执行的话,你可以选择这种类型。你也可以为执行选择一种运行期的设置。
重新设计了Archive Builder和Native Executable Builder里的Content页,可以不
依靠档案文件,见前面。
如果你在Configuration页里为一个应用程序选择主类的时候选择了<Auto Select>,工
程在运行的时候就找到默认的运行设置包括默认的参数来运行你的应用程序。如果没有默认的设置或者默认的不是一个应用程序的设置,系统就自动使用第一个应用程序运行期设置。
创建本地执行
如果你选择了Native Executable或Executable JAR档案类型的话, 你就可以使用
Archive Builder来创建可执行的文件。你也可以使用Native Executable Builder来创建。
设置本地执行文件
当你用Archive Builder或Native Executable Builder创建了可执行的文件后,你也
可以选择属性面板里的Runtime来设置创建或者重写配置文件。有以下的设置类型:
(1) Create executable configuration.
(2) Create executable configuration and save a copy in the specified file.
(3) Override the executable configuration with the specified file.
如果你选择2或者3的时候,设置文件将被加到工程里去。
12.生产效率的提高
消息框
你可以使消息框在屏幕的任何位置变成一个自由移动的窗口。
状态栏消息
你可以使用Tools|IDE Options|Browser|Status Message Timeout选项设置状态栏信息
保持的时间。
使用Regular expressions选项查找
在JBuilder8里的查找选项里新增了使用Regular expressions查找。
编辑器
大多数效率的改进是针对编辑器的,有以下的方面的改进。
(1)拖放
你可以拖放文本,选择上了一段文本后,可以用鼠标把被选择的部分拖放到你指定的地
方。这样的功能以前大家很熟悉是在微软的工具里。
(2)行数
在代码的左边默认显示了各行的行数,你可以在(Tools|Editor Options)里去掉这个选
项。也可以在Line Number页边直接按右键来快速取消这个选项。
(3)选择文本
你可以利用左边的行数来选择一整行或者一行的一部分。
(4)代码格式
你可以在Project|Project Properties里的Formatting页里选择相关的选项来制定你
的代码格式的偏好和自动对齐你的代码。在旁边的一个窗子里会显示出你的设置的改变。
(5)缩放工具
在编辑器的底部有一个放大镜的按钮,用这个按钮你可以缩放你的代码。
(6)快捷键的改进
你可以在编辑器的底部改变快捷键的设置,可以设置不同的方式也可以在Editor Option
里使用定制来改变某个方式里具体的某个键。
13.团队开发的改进
Merge Conflicts
在History面板里有一个Merge Conflicts页,你可以在这里察看或者解决在工作台和
版本控制库里相应的文件的不一致情况。以上功能为JBuilder企业版里所特有。(Merge Conflicts只支持CVS和VSS)
CVS的改进
CVS方面右两个关键的改进:
(1) 如果你在JBuilder8里用pserver方式连接的时候,你可以指定端口号。
(2) 你能在Project中 CVS向导里搜索库里的一系列的模块和分支。
Clear case的改进
Clear case在版本控制设置管理方面也有很多改进,Status Browser主要是一个浏览工
具:可以浏览激活的工程,显示每个文件的版本控制状态,显示可用的版本和不同版本之间的差别。Commit Browser提供了Status Browser浏览功能,提供改变文件版本控制操作的一般的访问。有了Commit Browser,你能够为每一个文件设定你想要设定的版本控制命令,输入一些单个文件或者整个组的注释,然后点一下就可以执行所有的命令了。另外还提供动态和快照支持、控制台输出、对于一个文件多人的修改合并功能、用命令来访问ClearCase工具和提供UCM的支持。以上功能为JBuilder企业版里所特有。
14.支持J2EE服务器
以下是JBuilder8支持的J2EE服务器:
支持Sybase EAServer
支持BEA WebLogic Server
支持Borland Enterprise Server
支持Oracle9i Application Server
15.JavaDoc的改进
JBuilder8包含了一个包编辑器来让用户创建、编辑、删除工程中那些单独包的
package.html文件。
16.Refactoring的改进
在结构面板上有以下的Refactoring命令:Find References 、Optimize Imports 、Rename
Package 、Rename Class 、Rename Method 、Rename Field 、Change Method Parameters 。
17.Aclearcase/" target="_blank" >ccessibility的改进
JBuilder8的每一个部分都可以通过键盘访问到,由于这一部分的重要性不大,具体细节
请察看相关资料。
总结
JBuilder8主要在以下方面提供了大量的功能:
(1) 使用一个新的标准的Web开发框架来加速Web应用程序。
(2) 通过工程组、代码格式化、比以前更紧密的和代码管理控制系统联系在一起。
(3) 比以前更快的使用支持J2EE、Web Applications、EJB的单元测试工具来更灵活的开发软件。
(4) 使用改进的编辑器增加了生产力和代码可靠性,还有HotSwap debugging和加强的性能。
如果需要了解更多的信息,请访问http://www.borland.com/jbuilder