java -Djava.library.path=d:\path -classpath d:\path\swt.jar;d:\path\workbench.jar\;d:\path\runtime.jar;d:\path Hello这样就应该可以了。

解决方案 »

  1.   

    在main方法中会才产异常,你必须捕捉这个异常:
    public class Hello
    {
     public static void main(String[] args)
     {
       try {
       ApplicationWindow w=new ApplicationWindow(null);
       w.setBlockOnOpen(true);
       w.open();
       Display.getCurrent().dispose();
       }
       exception(java.lang.NoClassDefFoundError e){
    //加入异常处理
    }
      }
     }
      

  2.   

    在classpath里指一下该类的路径
    或直接到该类目录下编译要用到的其它类要在classpath里指一下!
      

  3.   

    楼上的正确
    我在命令行里的classpath后加入了d:\成功。(我的hello放在d盘根目录下)请大虾指点原因?
    我在系统的环境变量里设过path了
    把swt.jar,runtime.jar,workbench.jar都包含进去了
    path里也包含“.”
    可为什么在编译,执行时还需要指定呢?
    设置的环境变量为什么不起作用?
      

  4.   

    我在系统的环境变量里设过path了
    把swt.jar,runtime.jar,workbench.jar都包含进去了应该设置classpath 把swt.jar,runtime.jar,workbench.jar都包含进去了
      

  5.   

    不光包括java的库,还包括一些平台相关的库。如dll文件等。具体看下面这一小段。原文在ibm的developer work的java专区。
    http://www-900.ibm.com/developerWorks/cn/java/l-swt/index.shtml第一个SWT程序
    下面让我们开始一个SWT程序。(注意:以下的例子和说明主要针对Windows平台,其它的操作系统应该大同小异)。首先要在Eclipse安装文件中找到SWT包,Eclipse组织并不提供单独的SWT包下载,必须下载完整的Eclipse开发环境才能得到SWT包。SWT是作为Eclipse开发环境的一个插件形式存在,可以在${你的eclipse安装路径}\plugins路径下的众多子目录下去搜索SWT.JAR文件,在找到的JAR文件中包含了SWT全部的Java类文件。因为SWT应用了JNI技术,因此同时也要找到相对应的JNI本地化库文件,由于版本和操作平台的不同,本地化库文件的名称会有些差别,比如SWT-WIN32-2116.DLL是Window平台下Eclipse Build 2116的动态库,而在Unix平台相应版本的库文件的扩展名应该是.so,等等。注意的是,Eclipse是一个开放源代码的项目,因此你也可以在这些目录中找到SWT的源代码,相信这会对开发很有帮助。下面是一段打开空窗口的代码(只有main方法)。import com.e2one.example;
    public class OpenShell{
    public static void main(String [] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.open();
        // 开始事件处理循环,直到用户关闭窗口
    while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();
    }
    }确信在CLASSPATH中包括了SWT.JAR文件,先用Javac编译例子程序。编译无错后可运行java -Djava.library.path=${你的SWT本地库文件所在路径} com.e2one.example.OpenShell,比如SWT-WIN32-2116.DLL件所在的路径是C:\swtlib,运行的命令应该是java -Djava.library.path=c:\swtlib com.e2one.example.OpenShell。成功运行后,系统会打开了一个空的窗口。
      

  6.   

    在哪里找到的啊?
    swt我找不到