当前位置: 代码迷 >> Java相关 >> jar打包
  详细解决方案

jar打包

热度:358   发布时间:2006-12-02 21:50:40.0
jar打包
我按照论坛上的方法大包成功了,可是双击jar文件后确没有响应,请问是怎么回事?
搜索更多相关的解决方案: jar  打包  文件  

----------------解决方案--------------------------------------------------------
我用   jar cvfm computer.jar computer.txt *.class   生成了dos批处理文件,同一文件夹中还有Freeman.txt文件,打包是成功了,就是双击不能运行
----------------解决方案--------------------------------------------------------

你是不是在做main-fest.mf 文件时,里面输入的Main-Class: *.class之后没有加回车,或者在输入*.class之前没有打个空格,这种错误我以前也试过,后来经过自己尝试才知道要这样的,希望能帮到你


----------------解决方案--------------------------------------------------------

这些细节我都注意到了,还是不行。


----------------解决方案--------------------------------------------------------
不是吧
----------------解决方案--------------------------------------------------------

我这里有一个打包jar文件的方法,你看一下吧,我之前也是按这个方法的;如果还是不行,那我就没办法了

若要生成一个名为 cal.jar 的可执行jar文件:(文件名可以是任意合法名字)
(这是我认为简单实用的一种方法,还有很多别的方法在此就不介绍了)
第一 把程序生成的所有字节码文件(即.class文件)放在同一个目录下(如:D:/chat/).
第二 在该目录下新建一个manifest.mf文件,文件内容格式如下(划线中内容):
manifest.mf文件中的格式:
--------------------------------
Main-Class: calDemo

--------------------------------
注意: calDemo代表主类名(即要运行的类名,只能有一个,不要文件扩展名)
Main与Class中间不是下划线,而是短横线
Main-Class:与calDemo中间必须要有空格
Main-Class: calDemo之后必须要回车

文件中还可以加入一些其他信息如:(先不要加,以免出错)

--------------------------------------------
Manifest-Version: 1.0
Created-By: 1.4.1_02 (Sun Microsystems Inc.)
--------------------------------------------

然后用jar命令生成可执行的jar文件,例如:
(执行该命令前先要转到该目录下 D:/chat/ )
jar cvfm cal.jar manifest.mf *.class

jar用法:(仅供参考,初学者可跳过这部分内容)
jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有
文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ .



----------------解决方案--------------------------------------------------------
以下是引用gudan803在2006-12-2 22:02:08的发言:

这些细节我都注意到了,还是不行。

你把你的说明文档里的内容拿出来看看
----------------解决方案--------------------------------------------------------

以下是引用gudan803在2006-12-2 21:52:46的发言:
我用 jar cvfm computer.jar computer.txt *.class 生成了dos批处理文件,同一文件夹中还有Freeman.txt文件,打包是成功了,就是双击不能运行

你这里的freeman.txt文件的后缀应该改为mf 吧
----------------解决方案--------------------------------------------------------

后缀名随便什么都可以,只要里面放的是文本文件
并且是标准格式的说明文件


----------------解决方案--------------------------------------------------------
Main-Class: Freeman



我是按照你给另一个人做好的jar文件中的说明文件复制的,只是把主类名改了一下。
----------------解决方案--------------------------------------------------------
  相关解决方案