|
我根据www.cs.umainitoba.ca/~eclipse 中的1-Install.pdf中的方法在eclipse中写了一个swt程序:
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
public class SWTHello {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Label label = new Label(shell, SWT.NONE);
label.setText("Hello, World!");
shell.pack();
label.pack();
shell.open();
while(!shell.isDisposed())
if(!display.readAndDispatch())
display.sleep();
display.dispose();
label.dispose();
}
}
编译正常,
运行时却有错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/internal/gtk/OS
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:118)
at SWTHello.main(SWTHello.java:19)
用以下命令运行:
java -Djava.library.path=/usr/local/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/os/linux/x86 -classpath
opt/SUNWappserver/jdk/lib:/opt/SUNWappserver/jdk/jre/lib:/usr/local/eclipse/plugins/org.eclipse.swt.gtk_3.0.
0/ws/gtk/swt.jar:. SWTHello
也产生同样的错误.从是参照LumaQQ启动脚本来看,使用的库文件在(LumaQQ/swt)和我
的/usr/local/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/os/linux/x86下的文件除版本不同其它都相同.
我也试过把Lumaqq启动脚本中的 -Djava.library.path一句去掉的话会产生和我类似的错误.
但我为什么加了-Djava.library.path也不行,我怎么也想不通(好痛苦),是程序本身的问题吗?
请大家帮忙给看看.THANK YOU! |
|