副标题#e#
Eclipse作为开拓Java的IDE,从呈现到此刻已经有几年的时间了,其富厚的特性,操纵容易和在提跨越产力方面收到了宽大开拓者的青睐。虽然一提到Java IDE,人们不禁会提到其他Java IDE像NetBeans,IntelliJ等,那么这些Java IDE之间到底存在着哪些异同呢?因此在Java开拓的空间里,对这些主要的IDEs做一个全面的较量是很有须要的,通过较量我们找出这些主要的IDEs在四个凡是的开拓规模:Swing, JSP/Struts, JavaServer Faces和J2EE/EJB 3.0中哪个IDE表示的更精彩。本文就从这四个凡是的开拓规模来较量Eclipse, NetBeans,IntelliJ。
在三个IDEs中,Eclipse是独一个存在多个版本,从根基的版本到预先打包好的带特另外开源插件(像EasyEclipse)和开源/贸易团结的(像MyEclipse)。
NetBeans 5.5:
首先来看NetBeans 5.5,NetBeans 5.5的根基信息如下表:
Vendor:Sun Microsystems
Website:www.netbeans.org
Price:Free/Open source
Distribution:Base + EnterprisePack + Visual Web Pack
安装:
NetBeans 5.5,包罗它所带的包(像带有 UML/BPEL/SOA的Enterprise Pack和开拓JSF的 Visual Web Pack )都既可以作为ZIP文件的形式来下载也可以跨平台举办安装。在Windows平台下,安装今后会与操纵系统无缝的集成起来,包罗桌面的快捷方法和增加安装/卸载节制面板。在Linux平台下,NetBeans 5.5仅仅安装在一个指定的目次下而且在GNOME可能KDE桌面上建设了一个启动的图标,可是,在Linux平台下,NetBeans 5.5不能以RPM可能一个.deb文件形式打包在一起,也不能提供一个尺度的常识库,这些常识库可以使Linux用户凭据其他的应用来安装NetBeans 5.5。
一般特性:
早期的NetBeans版本在开拓Swing上速度很是慢,并且界面很不雅观,因此并没有收到浩瀚人士的接待,自从5的版本今后,NetBeans开拓小组已经彻底的改变了这种状况,NetBeans 5.5和JDK 1.6的团结为用户提供了更为精彩的用户体验,出格在Windows平台下(Linux仍然有一些UI上的小问题,估量在NetBeans 6.0的版本这些问题会得以改进。在5.5的版本中缺少对当地GTK的外观支持。)
在Windows系统中,NetBeans 利用起来很是的利便,像收缩/埋没/切换等成果,面板/编辑器等设置起来也很是的容易,别的,NetBeans的菜单机关也很是有逻辑,利用起来很利便,大大都的一般成果很容易上手,一直以来,NetBeans的不变性和机能也十分精彩。
根基的Java编辑器也是相当好的,固然在代码完成方面与其他IDEs对比还逊色一些,可是究竟照旧可以利用的,NetBeans也提供重构的成果(出格是最常用的重定名/移除特性),在一些测试中,它不老是可以或许举办上下文感知(context-aware),譬喻在Struts工程中重定名Action类地址的包,相应的在struts-config.xml中就不能实时的做到同步更新,可是在重构JSF backing beans和更新在faces-config.xml 中的实体方面表示的很好,同时在同步更新J2EE 1.4 sessions beans和ejb-jar-xml的实体方面表示的也很好。
Swing开拓:
NetBeans包罗一系列的特性来开拓Swing应用措施,像按照实际文本的位置来举办自动分列,它的强有力的尺寸规复成果和牢靠成果使得UI设计器是任何平台的任何语言都不能相比的。NetBeans 5.5还包罗一些新的有助于提跨越产力的特性,像自动举办国际化(节制每个窗体/对话框/面板到ResourceBundle包罗所有的国际化字符串),利用自界说的窗体/面板(只要他们在你的工程中至少编译过一次)。
对Swing开拓者来说,利用NetBeans可以充实的操作NetBeans的强有力的RCP(Rich Client Platform)领导来建设新的,成熟的Swing应用。
JSP/Struts开拓:
NetBeans带有很是好的JSP编辑器,该编辑器包罗我们期望的根基的特性,根基的领导和建设一个新的Struts工程。内嵌的Tomcat同期使得开拓和调试JSP应用措施都很容易,下图为NetBeans web应用领导:
NetBeans web应用领导自动设置web.xml文件和struts-config.xml文件,增加对Tiles和Validator的支持,别的,NetBeans还在struts-config.xml文件中提供了内容菜单选项,用领导的方法来增加ActionForms, Actions和Forwards。提供了非可视化的编辑器来显示在应用措施中的页面导航成果,提供对Tiles 和Validators设置的完全支持。
NetBeans 5.5对Struts支持的很是好,但并不像宣布文档说的那样完美,非可视化的编辑器可以用来编辑JSP可能HTML页面,对JSP编辑器缺乏对嵌入的JavaScript的支持,JSP编辑器也只带有一个根基的CSS编辑器(虽然安装上Visual Web Pack是更好的)。这些都有待于提高。下如为NetBeans对Struts的支持:
#p#副标题#e#
JSF开拓:
#p#分页标题#e#
NetBeans对JSF的支持就像对Struts支持的一样,提供了一个根基的领导来建设一个工程,包罗类库,设置所有要求的文件等,甚至在JSP编辑器中提供了对backing beans属性的代码补全成果。同时包罗在faces-config.xml文件中对导航法则的领导。
NetBeans Visual Web Pack提供了一个交互式的办理方案通过从Sun Java Studio Creator直接移植到NetBeans的特性来构建JSF应用,这包罗用来构建web页面的一个Matisse样式的GUI结构器,并带有富厚的JSF控件,这些JSF控件扩展了根基的JSF RI集,同时也支持数据绑定(直接依靠数据库查询甚至通过JPA/Hibernate)。
尽量Visual Web Pack有一些利益,可是Visual Web Pack也有一些缺点:
1. 缺少对页面模板的支持(固然可以生存一个页面作为一个模板而且作为一个尺度利用,可是模板的变革不是级连的),对Facelets的支持可能来自MyFaces对Tiles的支持在这里将是很有用处的。
2. 缺乏对Apache MyFaces的支持(存在着潜在的问题,当利用MyFaces RI而不是Sun的类型像JBoss陈设到一个应用处事器)
3. 不机动的backing beans自动发生成果。
另一个主要的特性是支持Facelets,在很多JSF社区中,Facelets被认为是JSP的替代品,尤其是JBoss Seam已经开放了它的所有文档。
固然NetBeans一再宣称下一个宣布版本的不敷,可是对JSF开拓来说,Visual Web Pack是最能提跨越产力的东西。
企业开拓:
NetBeans 5.5是第一个支持JPA和EJB 3.0的IDE,在自动发生JPA实体类和注释(包罗persistence.xml文件的正确配置,甚至根基的毗连信息)可以节减大量的手工编写代码的时间,自动发生的JPA代码的质量很是高而且可以当纵然用,第一次利用Matisse开拓一个Swing应用和通过JPA查询/更新一个数据库所到达的程度是我利用PowerBuilder多年到达的程度。
对纯粹的企业开拓来讲,NetBeans提供了对J2EE 1.4和Java EE 5的支持,出格对J2EE 1.4的项目来说,EJB领导发生了所有要求的代码(包罗business/home/remote接口),总之,
NetBeans思量了与J2EE 1.4相关的冗长的代码,同时提供了对Java EE 5的封装。
NetBeans对陈设到GlassFish/Sun Application Server和JBoss上的企业应用提供了官方的支持,并且更新站点为WebLogic和WebSphere提供了特另外插件。
IntelliJ IDEA 6.0.4
IntelliJ IDEA 6.0.4的根基信息如下表
Vendor:
JetBrains
Website:
www.jetbrains.com/idea
Price:
$499.00 ($299.00 upgrade)
安装:
在Windows下,IDEA提供了exe形式的安装文件,在Linux下,IDEA的安装是更为简朴,包罗一个TAR.GZ文件,解压该文件,手动改变到bin子目次下执行./idea.sh。假如不能正常的执行,大概是因为你没有正确的配置$JDK_HOME情况变量,配置$JDK_HOME在.bashrc文件中:
JDK_HOME=/home/jacek/Devhttp://java.chinaitlab.com/JDK/jdk1.6.0_01
export JDK_HOME
JAVA_HOME=/home/jacek/Devhttp://java.chinaitlab.com/JDK/jdk1.6.0_01
export JAVA_HOME
在Linux版本中,JetBrains并没有提供尺度的.deb可能RPM文件来举办安装,因此,安装今后没有桌面快捷方法可能建设K Menu实体,更糟糕的是,双击bin/idea.sh文件也不能启动(返回的错误是没有配置JAVA_HOME,固然已经正确的配置了),所以必需的手动地转到呼吁行执行./idea.sh以正常启动,这点在三个IDEs中是最差的。
一般特性:
与NetBeans一样,IDEA提供了机动的机关,在各类设置中截短/锁定/浮动 面板的成果,但它没有NetBeans(Windows系统下)那样流通和可设置。
相对IDEA精巧的编辑器来讲,这些只是一些小问题,IDEA的编辑器长短常快的,具有对敏感内容的颜色凸显,提示和弹出发起框的成果,利用IDEA的时间越长,编程的效率就会越高。下图为一个简朴的IDEA编辑器和高级的颜色/语法突出显示:
JSP/Struts开拓:
IDEA可以自动的成立设置文件(包罗Tiles 和Validator),下载所有需要的Struts类库,它也提供了一个Struts助手,提供图形化的编辑器和领导来举办Struts设置,包罗tiles-config.xml 和validation.xml文件。
IDEA没有JSP/HTML页面的可视化编辑器,其法则的IDEA JSP/HTML编辑器纵然没有一个可视化的组件也长短常悦目标,支持嵌入的JavaScript,出格是可以或许处理惩罚DHTML可能AJAX代码,JavaScript编辑器也支持指定的欣赏器(IE, Mozilla和Opera)和风行的AJAX矿见像Dojo, Bindows和Prototype。