黑马程序员技术交流社区

标题: 关于jar包的问题 [打印本页]

作者: 王清云    时间: 2011-9-26 18:02
标题: 关于jar包的问题
刚才试着用cmd打包jar文件,可是打包完打不开啊:
下面是CMD中的提示
D:\mymenu>jar -cvfm my.jar 1.txt menu
已添加清单
正在添加: menu/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: menu/MyMenu$1.class(输入 = 1645) (输出 = 975)(压缩了 40%)
正在添加: menu/MyMenu$2.class(输入 = 1486) (输出 = 904)(压缩了 39%)
正在添加: menu/MyMenu$3.class(输入 = 517) (输出 = 359)(压缩了 30%)
正在添加: menu/MyMenu$4.class(输入 = 490) (输出 = 349)(压缩了 28%)
正在添加: menu/MyMenu.class(输入 = 2137) (输出 = 1159)(压缩了 45%)

1.txt是配置文件里面写的是Main-Class: menu.MyMenu.class,空格和回车都有menu文件夹里面有MyMenu这个class文件,而且是主文件。系统配置也没问题吧,我用刚才网上找了个fatjar导出可以运行的,程序没问题,我直接用CMD运行MyMenu这个class文件也没问题,奇怪了,不知道怎么回事。
作者: 匿名    时间: 2011-9-26 21:11
手动打包的记得MF文件中对于Main-Class一定要是你的主类

MF文件例:

Manifest-Version: 1.0
Main-Class: RecordLogcat
Created-By: Stary

其中 RecordLogcat是你的主类文件

Stary是我的英文名啦,你就改成你自己的喽。

然后在命令行或写一个简单的批处理文件,内容:

jar cfm XX.jar XX.mf XX.class xx.class。。。

xx.jar就是你要生成的Jar包的名字,XX.mf就是上面你写的MF文件。

xx.class是包含你工程里所有的.class,所有的都要写上去哈,中间用空格

然后执行下就好了

参考网络
作者: 匿名    时间: 2011-9-26 21:21
你将MyMenu.java文件放在一个目录下,并且该类存放在包com下,然后将程序运行后的 .class文件放到文件夹com下(注意:com文件夹和MyMenu.java文件必须在同一目录下才行),再编译试试如何?如果正确的话,当双击打包后的文件时应该是可以运行的。不知是否可以运行成功?
例如:package com;
            public class MyMenu{
                    public static void main(String [] args){
                                 System.out.println("打包jar文件");
                     }
             }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2