Topic: 使用了swt的.jar文件为什么不能运行呢?

  Print this page

1.使用了swt的.jar文件为什么不能运行呢? Copy to clipboard
Posted by: PrimeJava
Posted on: 2004-03-12 22:07

用到了swt的文件编译成.class文件加上-Djava.library.path=disk:\eclipse选项后可以正常运行,但是打包成.jar文件后却无法运行,这是为什么呢?

2.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: Jove
Posted on: 2004-03-12 22:12

swt.jar会load本地代码(e.g. swt-win32-2135.dll)
而似乎没有办法从jar中loadLibrary

部署时,你只好把该dll放在系统Path(e.g. X:/Windows/System32)或当前目录下

3.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: PrimeJava
Posted on: 2004-03-12 23:17

谢谢你这么快就解答我的问题,刚下去打了会儿篮球^_^
我试过将那个dll放在当前目录下,只是不用加那个参数(e.g. -Djava.library.path=...)就可以运行.class文件,但还是不能运行.jar文件!请问怎样运行.jar文件(e.g. 使用了SWT的)

4.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: Jove
Posted on: 2004-03-12 23:26

比如你的程序打包后是app.jar
当前目录下有以下三个文件
app.jar swt.jar swt-win32-2135.dll
用java -cp app.jar;swt.jar foo.MyMainClass 应该能够运行

如果app.jar的MANIFEST.MF中有
Main-Class: foo.MyMainClass
Class-Path: swt.jar
则可以用java -jar app.jar甚至直接双击app.jar来执行它

5.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: PrimeJava
Posted on: 2004-03-13 09:28

不知道为什么还是不行?本来想把文件作为附件传上来,可是发现这里没有上传附件的功能,是我没发现?还是我没有上传附件的权限?

6.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: PrimeJava
Posted on: 2004-03-13 09:48

我用你教的方法提示:Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jface/window/ApplicationWindow错误!

7.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: Jove
Posted on: 2004-03-13 09:49

要上传附件, 按
不要快速回复就可以了

8.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: Jove
Posted on: 2004-03-13 09:54

PrimeJava wrote:
我用你教的方法提示:Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jface/window/ApplicationWindow错误!


Sad....
你不光用了swt,还用了JFace
需要的包是
boot.jar jface.jar swt.jar runtime.jar

你可以在网上找一篇如何在eclipse之外使用swt/jface的教程, 上面的几个jar都是从eclipse中挖出来的

9.Re:使用了swt的.jar文件为什么不能运行呢? [Re: PrimeJava] Copy to clipboard
Posted by: PrimeJava
Posted on: 2004-03-15 16:09

谢谢!我在IBM的网站上找到一篇讲述这方面知识的文章,学习学习先!非常感谢你!这是个很好的关于Java的站点,以后要常来向大家学习!
Thanks a lot!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923