目前,我使用的Eclipse都是Helios的;有SOAP和J2EE两个发布版,还有一个SDK版;
Eclipse在管理时,也是一个核心版本,并针对不同的开发用途发布不同的发布版;
而发布版之间的区别就在于插件,就是feature list;
在oracle的网站上,下载列表中,有对不同发布版的描述;就是用feature list来描述的。
不同的发布版,即便是都有WTP,其Feature list都不同。
这几个版本都有以下Feature:
Eclipse XML Editors and Tools: org.eclipse.wst.xml_ui.feature
Eclipse Web Developer tools: org.eclipse.wst.web_ui.feature
Eclipse JavaScript Development Tools: org.eclipse.wst.jsdt.feature
Eclipse Java EE Developer Tools: org.eclipse.jst.enterprise_ui.feature
Eclipse Faceted Project Framework JDT Enablement: org.eclipse.jst.common.fproj.enablement.jdt
Eclipse Faceted Project Framework: org.eclipse.wst.xml_ui.feature
但是,有一个版本还有以下Feature:
JAX-WS Tools Core:
Eclipse XSL Developer Tools:
Eclipse XPath 2 Developer Tools
Dali Java Persistence Tools
Dali Java Persistence Tools--EclipseLink Support
CXF Web Service Core
Axis2 Tools
在创建一个Dynamic Web Project时,提示Dynamic Web Module requires Java 1.6 or newer.
而我用的版本是1.6.0_19;显然是满足要求的。
将Web Module改成2.5再改成3.0,就OK了;
看起来像是插件的问题。
在创建一个Dynamic Web Project后,新建一个Servlet,提示javax.servlet.http.HttpServlet不能解析;
这是因为没有找到包含HttpServlet类的包;
这个包,网上有说是servlet-api.jar;打开MyEclipse,它的外部库文件中有一个javaee.jar;应该是这个;
我装的JDK是glassFishV3的,是J2EE的JDK;在glashFish的lib目录下,找到了这个包:javaee.jar;
在Eclipse中应用这个包,javax.servlet.httpServlet就可以解析了;
glassFish的中文名叫水晶鱼,它的Log是一条鱼。除了J2EE的JDK外,glassFish实际上是一个应用服务器,有类似于Tomcat的功能;(我没有用过)。
在这个过程中,对Eclipse设置JDK时,发现Eclipse是有虚拟机识别的功能的;它肯定是根据特定的库名来判断这个目录下面是不是有虚拟机的。比如glassFish,我将Eclipse设置到glassFish的lib目录,Eclipse就提示没有虚拟机;而设置到glassFish的JDK目录,就认可。
在这个目录下,有库:
tools.jar
dt.jar
htmlconverter.jar
jconsole.jar
我不知道,Eclipse是根据哪一个库判断的;tools.jar和dt.jar看起来比较象。
备注:
glasssfish的tools.jar有12M;而dt.jar只有140K;
把dt.jar和tools.jar解压后,可以看到dt中主要是swing相关的包;
而tools.jar有org、com、sun等包;
另外Java version,提示信息:
java SE Runtime Environment 1.6.0_20
Java HotSpot Client VM(build 16.3)
这个HotSpot Client VM我不知道是什么意思。
备注:
HotSpot是比JIT更新的一种Java虚拟机技术。
JIT:Just In Time Compilation; 又叫动态转译;Dynamic Translation; 是在在运行时,将字节码转译为机器码的技术。
Hotspot:在JIT的基础上,将部分代码编译为本地代码,显著提升了性能。
从JDK1.3.1开始,Sun加入了HotSpot技术。