自已编译一个SWT的应用,可是调用不了,命令行下报错如下,请各位大侠帮忙看看怎么回事?
D:\zmrj>java -jar zmrj.jar -Djava.library.apth=.;.\lib form.MainWindow
Exception in thread "main"java.lang.NoClassDefFoundError:
org/eclipse/jface/viewers/ISelectionChangedListener
Caused by: java.lang.ClassNotFoundException: org.eclipse.jface.viewers.ISelectio
nChangedListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
D:\zmrj>
------解决方案--------------------
是不是没有把 swt的jar包放到 classpath去啊??
------解决方案--------------------
org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar文件在当前目录就可以了,但是前提是org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar中org/eclipse/jface/viewers/ISelectionChangedListener
如果org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar在.\lib中,你可以这样运行:
D:\zmrj>java -cp .;.\lib\org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar -jar zmrj.jar -Djava.library.path=.;.\lib form.MainWindow
在eclispe中,这个jar文件已经在classpath中了