把swt-3.0.1-win32.zip中的4个*.dll放到D:\Program Files\j2sdk1.4.2_02\jre\bin\下,awt.jar包放在D:\Program Files\j2sdk1.4.2_02\jre\lib\ext\下面,这样每次启动vm都会加和这个包,这样配置完后在d盘建立这么个文件OpenShell.java:
//OpenShell.java
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
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();
}
}
D:\>javac OpenShell.java编译,没有问题
D:\>java OpenShell运行,Exception in thread "main" java.lang.NoClassDefFoundError:org/eclipse/swt/widgets/Display at OpenShell.main(OpenShell.java:8)
这是怎么回事啊?????
我进去swt.jar文件里面看了,org/eclipse/swt/widgets/Display.class是存在的
高手救命啊!!!
//OpenShell.java
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
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();
}
}
D:\>javac OpenShell.java编译,没有问题
D:\>java OpenShell运行,Exception in thread "main" java.lang.NoClassDefFoundError:org/eclipse/swt/widgets/Display at OpenShell.main(OpenShell.java:8)
这是怎么回事啊?????
我进去swt.jar文件里面看了,org/eclipse/swt/widgets/Display.class是存在的
高手救命啊!!!
一样的错误
具体参数格式你查查。
解决办法:
一是把swt.jar加入到Classpath的环境变量中。
二是在java命令中加入-classpath swt.jar路径。你按照这两点试一试吧。
或者放到工程目录下面
这两个方法都可以的
或者是不是版本不对?