Eclipse Ganymede:深入JDT(Java Development Tools)

作为6月25日发布的Eclipse Ganymede的一部分,Infoq推出了一系列Eclipse子项目的相关报道。今天,我们将探讨的子项目是JDT(Java Development Tools),目前处于3.4版。Infoq采访了Eclipse项目的领导人Philippe Mulet和JDT UI子项目的领导人Martin Aeschlimann,以了解Ganymede中有哪些值得我们期待的东西。

JDT 3.4中有几个新特性:

  • 强化的编译器——编译工作现在可以在多个核上并行展开,而不是只能使用一个,编译器问题探测得到了改进,支持CLDC 1.1类文件输出并增加了工作区外的类文件夹。
  • 新的重构——有一个新的提取类重构功能,它把一组变量提取到一个类中,并且保留了成员访问函数。另外,对于可能导致破坏二进制类引用的重构,现在将会显示一个警告,这样就可以防止意外重构影响了其他客户端可能依赖的类。
  • 升级的Java编辑器——在新增的特性中包括了显示当前条目路径的Breadcrumbs、针对Java problem和Javadoc的表现力更丰富的悬浮窗口、几个内容帮助的改进、新的快速帮助和一套SWT窗口部件模板。
  • 改进的Java Debugger——在这一版中新出现的特性包括:嵌入到变量悬浮窗口中的对象查看器、执行环境描述文件、将启动配置作为搜索结果的一部分、等候远程调试连接的功能等。
  • 强化的其它UI——JUnit测试执行时间、针对域和类型的调用层次、一个可运行的JAR输出向导、更多的Java搜索选项,这些现在都可供使用了。

在6月25日官方Ganymede发布之后不久,从新特性和值得关注的页面可以得到全部细节信息。

Mulet对多核编译做出了更详细的解释,他说尽管每个项目是分别编译的,但是将项目编译负载铺开到多个核上导致在多核 CPU上进行编译的速度提高了10%到30%。Mulet还小心谨慎的指出,该百分比是临时性的,公共基准数据很快就会公布。另一个需要指出的是,新版 Java对提高速度的贡献更大——Java 1.4速度提升了近10%,而Java 6速度提升了近30%。最终,磁盘速度成了编译性能的关键因素——因为编译过程本身就是一个受I/O限制的过程,磁盘介质越快编译速度就越快。

尽管Eclipse被认为主要是个Java IDE,JDT和JDT团队所引领的许多改进也已经被推广到一般类库中,比如语言工具包(Language Toolkit——LTK)和平台文本(Platform Text),它们被其他基于文本的编辑器(如CDT)所采用,以提供常用的重构、搜索、调试和比较功能。例如,这些类库已经被用来提供可以有后续链接的富Javadoc悬浮文本。另外,在3.5中可能提供的一个增强功能是预处理支持,按照Mulet的说法,它将简化使用范围的集成。

Eclipse Compiler for Java(ECJ)是在JDT之外已被采用的另一个组件,Mulet说他所了解的使用了ECJ的项目包括GNU Compiler for Java(GCJ)、Apache Harmony的javac、Apache Tomcat JSP和AspectJ编译器。Mulet补充说他相信这只是部分列表,而且他很想知道还有哪些人在使用ECJ作为其工作的一部分。

至于将来的计划,Mulet说道:

我们现在正在考虑,任何建议都是受欢迎的。或许主题(并非承诺)应该着眼于Java 7、Java编辑器嵌套、预处理、每个源文件夹的设置/类路径、与API工具更好的集成、构建路径上链状的JAR、构建路径上嵌套的JAR、提供编译器错 误解释、简化开箱即用的体验(如,默认情况下兼容性和JRE应该成对出现)等等……

当问到JDT将如何集成到e4中,或者会受到e4怎样的影响时,Mulet说道:

e4的目的是为了使Eclipse成为一个更好的平台、在其上的构建应用应该更加简单。一旦e4成熟 了,JDT很可能会转移到其上,类似于我们Eclipse 1.0上整个从头开始的做法。到那时,开发两种风格的JDT将是非常有意思的事情,因为3.x短期内不会立即消失,所以3.x中的JDT也必须随Java 一起保持更新……到那时,JDT可能会对从Java到脚本语言的交叉编译提供帮助(就像现在把Java翻译成ActionScript一样)。也可能会有 些贴近语言工具的项目出现,比如多语言编辑器。

查看英文原文:Eclipse Ganymede: An in-depth look at JDT (Java Development Tools)

你可能感兴趣的:(Eclipse Ganymede:深入JDT(Java Development Tools))