首先要说明一点我是JAVA新手,之前主要都是用EMACS+GDB在LINUX上的C/C++应用。
我已经安装了SWT,并且能点击上面选项栏里的RUN来运行程序(一个有窗口的HELLO WORLD程序)
现在的问题是虽然能RUN了,那么怎么BUILD呢?
网上搜了很多,1种是在生成的helloworld.class所在的文件夹里开启终端输入命令
java helloworld
运行结果显示
Exception in thread "main" java.lang.NoClassDefFoundError: helloworld (wrong name: bao/helloworld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:637)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
Could not find the main class: helloworld. Program will exit.
第2种是导出一个JAR的可执行文件来运行
这里使用了2种方法来EXPORT 1种是ECLIPSE自带的JAR FILE,结果失败
输入:java -jar kk.jar
结果:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composite
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Composite
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
Could not find the main class: bao.helloworld. Program will exit.
第2是我使用了FATJAR来导出,结果还是失败
输入: java -jar hello_fat.jar
输出:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3236 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1698)
at java.lang.Runtime.loadLibrary0(Runtime.java:840)
at java.lang.System.loadLibrary(System.java:1047)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)
at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:22)
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:126)
at bao.helloworld.main(helloworld.java:13)
另外我两个导出JAR的设置里main-class这一栏都有设置过了
有看到说什么JDK环境变量未设置什么的
我也按照搜到的方法在 etc/profile里最后添加了
export JAVA_HOME=/usr/java/jdk1.6
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
输入:java -version
输出:
java version "1.6.0_0"
IcedTea6 1.3.1 (6b12-0ubuntu6.1) Runtime Environment (build 1.6.0_0-b12)
OpenJDK Server VM (build 1.6.0_0-b12, mixed mode)
我的JDK的安装也都没啥问题吧
请教Eclipse中SWT的安装问题(问题更新!!急急急!!!!!!)
-
- 帖子: 62
- 注册时间: 2008-07-17 17:48
请教Eclipse中SWT的安装问题(问题更新!!急急急!!!!!!)
上次由 zonelight 在 2009-03-04 1:46,总共编辑 3 次。
- anticlockwise
- 帖子: 2394
- 注册时间: 2007-03-01 20:46
- 来自: 湖南长沙
Re: 请教Eclipse中SWT的安装问题
你是要怎么用SWT?是单独用还是用他来做Eclipse插件?如果适从官方下的Standalone SWT的ZIP,直接放到CLASSPATH里边就行了~~
如果是想开发Eclipse插件的话,不需要另外下载的。。。
如果是想开发Eclipse插件的话,不需要另外下载的。。。
-
- 帖子: 62
- 注册时间: 2008-07-17 17:48