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 我给你看看具体情况吧