A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王清云 黑马帝   /  2011-9-26 18:02  /  2139 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚才试着用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文件也没问题,奇怪了,不知道怎么回事。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

2 个回复

倒序浏览
黑马网友  发表于 2011-9-26 21:11:06
沙发
手动打包的记得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,所有的都要写上去哈,中间用空格

然后执行下就好了

参考网络

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-26 21:21:34
藤椅
你将MyMenu.java文件放在一个目录下,并且该类存放在包com下,然后将程序运行后的 .class文件放到文件夹com下(注意:com文件夹和MyMenu.java文件必须在同一目录下才行),再编译试试如何?如果正确的话,当双击打包后的文件时应该是可以运行的。不知是否可以运行成功?
例如:package com;
            public class MyMenu{
                    public static void main(String [] args){
                                 System.out.println("打包jar文件");
                     }
             }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马