Java程序的包成.jar文件为什么双击不能运行?

如题所述

第1个回答  2015-03-16
//:jar用法之将文件打入jar文件中并使用.txt

a、文件路径如下:
f:\java\testjar.java
f:\java\MANIFEST.MF
f:\java\citi\sonnet.xml

1、源文件
//:testjar.java
package citi;
import java.io.*;
public class testjar{
public static void main(String[] args){
try{
BufferedReader in;
String str;
//由于文件sonnet.xml要打入包中,故文件应该在包路径“citi”中
//使用时,需要使用相对路径来引用,如下面的".\\citi\\sonnet.xml"
//当然其他文件也相同,如图片文件。
in = new BufferedReader(new FileReader(".\\citi\\sonnet.xml"));
while((str = in.readLine())!= null){
System.out.println(str);
}
in.close();
}catch(Exception e){e.printStackTrace();}
}
}

2、文件sonnet.xml内容
<?xml version="1.0"?>
<sonnet type="Shakespearean">
<author>tsc</author>
</sonnet>

3、文件MANIFEST.MF内容
Manifest-Version: 1.0
Main-Class: citi.testjar
Created-By: tangshancheng

4、操作步骤实例

F:\java>javac testjar.java -d .

F:\java>jar cvfm my.jar manifest.mf citi
标明清单(manifest)
增加:citi/(读入= 0) (写出= 0)(存储了 0%)
增加:citi/testjar.class(读入= 707) (写出= 464)(压缩了 34%)
增加:citi/sonnet.dtd(读入= 1165) (写出= 361)(压缩了 69%)
增加:citi/sonnet.xml(读入= 91) (写出= 80)(压缩了 12%)

F:\java>java -jar my.jar
<?xml version="1.0"?>
<sonnet type="Shakespearean">
<author>tsc</author>
</sonnet>

希望能够帮助到你,望采纳!本回答被网友采纳
第2个回答  2015-03-16
要用反编译软件才能查看Jar包里的源码。。追问

我没有描述清楚,怪我。源码是我自己的,我就是为了学习将Java程序打包为jar而做了两个jar文件,程序调试是能正常运行。一个有图形界面,一个是在dos命令下有输出内容。但是两个打包成功后双击都不会运行,没有什么反应。

本回答被提问者采纳
相似回答