第六节 Eclipse的替代方案
您是不是认为IDE是给菜鸟用的,真正的程序员都在用Emacs或vi的?或者您喜欢IntelliJ IDEA而不愿换成另一个IED?或许您没有一分钱,没有一丝硬盘空间,只有一丁点内存;或是您打算在Windows的记事本上做所有的开发;也可能您从没离开过Visual SlickEdit或CodeWright。那么SWT适合您吗?
答案是肯定的。尽管Eclipse构建于SWT之上并且不能离开它运行,但反之则不然:SWT可以在Eclipse之外很好的运行。您可以撇开Eclipse而开发、生成和配置SWT程序——只要SWT库就够了。
获取SWT库
Eclipse在网站上提供了单独的SWT下载。这个下载中包含了所有需要的文件——JAR文件和本地库——构建SWT程序的必备工具。JAR文件必须在classpath中,本地库(native library)必须在library path中,您的程序才能工作。注意,本地库有一个随着SWT的升级而变化的版本号,所以尽可能使用与本地库一起打包的JAR文件。如何在您的平台上安装这些库?请参见本章前面的“加载SWT库”一节。
获取JFace库
在本章最后部分讲到的JFace,还不是一个独立的库——尽管Eclipse协会(community)一直嚷嚷这件事情。目前获取JFace的唯一方法是下载并安装Eclipse。这些库都包含在Java的类文件(class files)中,可以在eclipse\plugins目录下找到。它们是:
¨ org.eclipse.jface_<version_number>\jface.jar
¨ org.eclipse.jface.text_<version_number>\jfacetext.jar
¨ org.eclipse.osgi_3.0.0_<version number>\osgi.jar
¨ org.eclipse.text_<version number>\text.jar
¨ org.eclipse.core.runtime_<version_number>\runtime.jar
这些文件都要在classpath中,因为JFace构建于SWT之上,它要求swt.jar文件必须在classpath中,并且SWT本地库(native library)在library path中。
一旦下载并安装了Eclipse,就可以把上述文件复制到其他位置,然后删除Eclipse。记得定义classpath时使用新的位置。
使用文本编辑器或其他的IDE
不愿抛弃自己熟悉的IDE(NetBeans,Jbuilder,IDEA及其他)的用户,开发SWT与JFace程序不会有任何问题。下面是两步关键的设置:
¨ 将swt.jar添加到classpath
¨ 将本地库(native library)添加到library path
例如,在NetBeans 3.5中,添加swt.jar的方法是右击文件系统(FileSystem),选择档案文件(Archive File),找到swt.jar并选中它;添加native library的方法如下:
1. 在主菜单中选择工具->选项(Tools->Options)。
2. 选择运行与调试->运行类型->外部可执行(Debugging and Executing->Execution Types->External Execution)。
3. 选择外部进程(External Process),选中eclipses。
4. 在{classname}项前添加参数(Djava.library.path=<path containing the native library>)。
配置其他IDE有微小的差别,但步骤是一样的:先将swt.jar添加到classpath,再将native library添加到library path。
这个方法同样适用于文本编辑器。如果您的文本编辑器支持设置classpath和用Java VM的参数启动程序,那么您可以在编辑器中编辑、生成和测试SWT与JFace程序。具体如何设置classpath和library path,请查看编辑器的文档。
如果您不愿麻烦文本编辑器,或您的编辑器不支持这些设置特性,那您在编译和运行程序时需要在命令行中添加参数。从命令行编译BlackWindow.java,输入:
javac -classpath <full path of swt.jar> BlankWindow.java
运行这个程序,输入:
java -classpath <full path of swt.jar> -Djava.library.path=<full path containing native library> BlankWindow
不管您使用的是Eclipse,是别的IDE,还是文本编辑器,都可以编译和运行SWT与JFace程序。
提示:对于那些既想使用Eclipse,又不想抛弃自己喜欢的编辑器的Visual SlickEdit用户来说,Visual SlickEdit可以作为Eclipse的插件使用。请访问SlickEdit的网页(http://www.slickedit.com/)获取更详细的信息。它可以工作在Eclipse 2.x下,这家公司也保证说Eclipse 3.0发布的时候仍会兼容。如果想使用vi的快捷键,请访问viPlugin的网页http://www.satokar.com/viplugin/index.php。