导出的jar包不能双击运行只能在cmd下运行

直接用eclipse或者用fat插件打包都不行,不是会当作压缩文件打开,就是双击后说classnotfound什么的,但是cmd下用java -jar xx.jar就可以...为什么...

9个回答

真是太奇怪了,
你能做一个很小的class, 比如foo.HelloWorld试一下吗?

最好确定Server那个类是你运行时用的类,为什么不带package前缀呢?这习惯不好。

会不会是你双击JAR包关联的JAVA与命令行执行的JAVA不是同一个JAVA呢?

就是你装了双JDK?

能否上传一个JAR过来试试?

你双击jar文件,不是会当作压缩文件打开,就是双击后说classnotfound什么的,
这说明你系统中的jar文件默认打开方式,可能是winrar,7zip等压缩工具。

先把这种默认打开方式删除。在工具-->文件夹-->文件类型,找到jar类型,把原来的打开方式删除。然后...

1、打开“我的电脑”,选择“工具”菜单下的“文件夹选项(0)...”。
2、在“文件夹选项”对话框中选择“文件类型”选项卡。
3、点击“新建”按钮,输入文件扩展名“jar”。
4、点击“确定”按钮后,可以看到已注册的文件类型中新增了JAR文件类型。
5、点击“高级”按钮,出现“编辑文件类型”窗口。
6、点击“新建(N)...”按钮,出现“新操作”窗口。将操作命名为“open”,执行操作的应用程序为“D:\Java\jdk1.6.0_12\jre\bin\javaw.exe -jar %1”。
注:D:\Java\jdk1.6.0_12 为JDK所在目录,根据个人电脑上实际环境设置。
7、点击“确定”按钮,回到“编辑文件类型”窗口。在操作列表框中有了“open”一项操作。
8、点击“确定”按钮回到“文件夹选项”窗口, 这时JAR扩展名的详细信息有了变化。
9、点击“关闭”按钮。这时来双击一个可运行的Jar文件(FileDigest.jar),效果如下:

在eclipse中导出要选择可执行的jar,并且把相关连的jar包一起打入

[quote]按照你说的改了下,之前我说的那个classnotfound什么的是弹出了个cmd框显示的,该了以后就成了一个错误提示,写着Could not find the main class: D:\Server_fat.jar,可是命名在cmd下可以运行啊...怎么会找不到main class呢... [/quote]
你的jar里头META-INF下的MANIFEST.MF文件里头应该指定mainclass的。
如:
Main-Class: hexdb.Application

[quote]是呀~我用的fat插件他自动给我生成,刚才也打开看了,有的,是对的...为毛他还说找不到...
[/quote]
你双击的那个jar是否还依赖别的jar,要是依赖的话,得把那些jar中的class文件统统打进来。
sigh。

你能顺便帖一下你的manifest.mf文件的完整内容吗?

这个问题挺简单的。

[quote]我当然是打了呀...用fat的好处就是可以打进外部包嘛...
manifest内容:
Manifest-Version: 1.0
Created-By: Fat Jar Eclipse Plug-In
Main-Class: Server
[/quote]

你的main类是Server?

敢问你的eclipse是否是juno版?
我用juno版打包出来也不可运行,
换个以前的版本就行了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问