MyException - 我的异常网
当前位置:我的异常网» J2SE » jar包无法运行解决办法

jar包无法运行解决办法

www.MyException.Cn  网友分享于:2013-01-03  浏览:119次
jar包无法运行
打完jar包后,出现

------解决方案--------------------
确保java -jar *.jar能执行,不能执行可能是MAIN没有添加或是jar没引入。

java -jar *.jar可以执行,双击不可用,需要再工具-文件夹选项-文件类型-新建
或者重装JDK
------解决方案--------------------
现在习惯Ant打jar包,楼主看看ant教程,又方便,而且企业级应用都是Ant来构建的,为以后的工作打基础
------解决方案--------------------
一般都是java -jar *.jar
------解决方案--------------------
我昨天也遇到这类问题 总结了些资料 你看看吧


教你做一个能运行的jar包 (

这里说的运行是指用 命令: java -jar *.jar 来运行jar包中的java程序

第一步:我们只有一个Hello源文件,内容如下:
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello");
}
}
第二步:把它编译成class文件 ,这个大家应该都会,呵呵
命令如下,在cmd提示符下输入:
javac Hello.java
这样,就生成了一个Hello.class文件
第三步(重点):编辑一个清单文件a.txt,内容如下:
Manifest-Version: 1.0
Created-By: 1.5.0_05 (Sun Microsystems Inc.)
Main-Class: Hello
6666666666
重点说明:
1.清单文件的文件名起什么都行,扩展名写什么都行,扩展名不写也行,不分大小写。就叫a.txt吧
2.Manifest-Version:后有一个空格,一定要有,我试了近百次了,没有不行。
3.Created-By:后有一个空格。
4.Main-Class:不分大小写。后有一个空格。
5.6666666666:清单文件有第四行,用空格占位也行,别的字符也行,为方便看我用666
 
第四步(重点啊):
Hello.class和a.txt两个重要文件,都在d:\abc\目录下
在cmd中执行(d:\abc\目录下):jar cvfm rr.jar a.txt Hello.class
OK了,包打完了,运行一下试试
在cmd中执行 java -jar rr.jar
结果:Hello 呵呵,这就OK了
重点说明:
1.rr.jar文件名自己起,扩展名一定要是jar
2.要想打包多个文件,这就样jar cvfm rr.jar a.txt Hello.class a.class 或jar cvfm rr.jar a.txt ×
 
如果.class文件在包中,情况如下:
第一步:
我们只有一个Hello源文件,内容如下:
package org;//这是多了org包
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello");
}
}
第二步:
把它编译成class文件 ,这个大家应该都会,呵呵
命令如下,在cmd提示符下输入:
javac Hello.java
这样,就生成了一个Hello.class文件
第三步:编辑一个清单文件a.txt,内容如下:
Manifest-Version: 1.0
Created-By: 1.5.0_05 (Sun Microsystems Inc.)
Main-Class: org.Hello
6666666666
重点说明:这里多了org
第四步:
Hello.class在d:\abc\org下 , a.txt文件在d:\abc\目录下
在cmd中执行(d:\abc\目录下):jar cvfm rr.jar a.txt org
OK了,包打完了,运行一下试试
在cmd中执行 java -jar rr.jar
结果:Hello 呵呵,这就OK了
以上内容,我试了近百次,保正无误,请认真操作,注意空格和大小写

参数表:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...   
  选项:   
  -c 创建新的存档
  -t 列出存档内容的列表
  -x 展开存档中的命名的(或所有的〕文件
  -u 更新已存在的存档
  -v 生成详细输出到标准输出上
  -f 指定存档文件名
  -m 包含来自标明文件的标明信息
  -0 只存储方式;未用zip压缩格式
  -M 不产生所有项的清单(manifest〕文件
  -i 为指定的jar文件产生索引信息
  -C 改变到指定的目录,并且包含下列文件:

另外 是要确保jar包名是全英文的(可以含数字和下划线),才有执行的可能



------解决方案--------------------
加我QQ 519582737 我给你看看具体情况吧

探讨

有图形界面的,我做的个网络抢答器
引用:

我猜很可能是你的jar包本来就是 一个简单的System.out.println() 只会在命令行下打印东西,没有任何图形界面部分,所以在命令行下能看到输出,而双击很快闪一下就过去了

如果是这样,没有任何问题,因为你没有自己写图形界面,就是会这样

引用:
……

文章评论

不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
漫画:程序员的工作
漫画:程序员的工作
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
10个调试和排错的小建议
10个调试和排错的小建议
Java程序员必看电影
Java程序员必看电影
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员都该阅读的书
程序员都该阅读的书
总结2014中国互联网十大段子
总结2014中国互联网十大段子
中美印日四国程序员比较
中美印日四国程序员比较
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
为什么程序员都是夜猫子
为什么程序员都是夜猫子
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员应该关注的一些事儿
程序员应该关注的一些事儿
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员的鄙视链
程序员的鄙视链
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
旅行,写作,编程
旅行,写作,编程
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
鲜为人知的编程真相
鲜为人知的编程真相
一个程序员的时间管理
一个程序员的时间管理
程序员和编码员之间的区别
程序员和编码员之间的区别
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
每天工作4小时的程序员
每天工作4小时的程序员
 程序员的样子
程序员的样子
我是如何打败拖延症的
我是如何打败拖延症的
老程序员的下场
老程序员的下场
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员必看的十大电影
程序员必看的十大电影
编程语言是女人
编程语言是女人
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
如何成为一名黑客
如何成为一名黑客
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有