java文件打包成jar文件

时间:2021-11-18 22:24:45

法1:用winrar或winzip制作可执行jar文件   (http://www.blogjava.net/Andyluo/archive/2004/08/14/31049.html步骤:
1、在应用程序文件根目录(放置class文件的顶层目录)下新建一个META-INF目录,在该目录下新建MANIFEST.MF文件, 文件内容为(列出行号是为了提醒第2行是一个回车;Main-Class前无空格):
1 Main-Class: 包名.主类名
2 

2、将应用程序根目录下所有文件用winrar或winzip打包,格式为zip;

3、将zip文件扩展名改为jar ;

4、双击jar文件即可运行。

希望能对大家有点帮助。

版权所有 罗明
 


法2: 使用Eclipse制作可执行jar文件  http://blog.csdn.net/shendl/archive/2007/10/08/1815044.aspx   图文下载http://download.csdn.net/source/260098

1,右击Eclipse项目,点击Export

 

2,选中java-jar文件。

 

3,选中要发布为jar文件的项目。

1)选中源文件夹,库文件夹,配置文件文件夹。

2)不要选中Eclipse项目的文件和其他不需要的文件。

3)选中:Export all output folders for checked projects

输出所有选中的文件夹。

4)选中:Export java source files and resources

如果是源文件夹,就会输出生成的.class文件。

5)选中:压缩Jar文件的内容。

6)选中:不警告就覆盖已存在的文件

7)选择一个输出jar文件的目的地。

 

4,使用已存在的manifest文件。

 

5MANIFEST.MF  文件如下:

Manifest-Version: 1.0

Main-Class: Test

Class-Path: lib/OXmlEd1.11-nolib-bin.jar lib/dom4j-1.6.1.jar lib/commons-logging-1.0.4.jar lib/log4j-1.2.8.jar

 

    如果让Eclipse为我们生成,不会生成Class-Path部分的描述。所以,我们需要再加上Class-Path描述!

 

6,现在,制作完成的jar文件就是可执行的。

我们在命令行中执行java –jar AAA.jar 就可以看到该程序被成功执行了。

javaw –jar AAA.jar  也可以执行该jar包。

   

使用java.exe将会出现命令行窗口。

使用javaw.exe执行,不会出现命令行窗口,所有System.out.print这样的输出都是看不到的。

 

 

7,如果你安装了JRE,你的jar文件应该关联在javaw –jar上。

如果你的jar文件没有关联javaw –jar了,可以通过以下方法重新关联。

1)在资源窗口工具文件夹选项文件类型中,新建jar的关联。

2)创建一个.bat文件,其中的命令是:javaw -jar %1  或者java -jar %1

3).jar文件关联到上面这样的.bat文件中。

这样,你双击.jar文件时,就会立刻执行该java程序。

 

%1 表示第一个参数,也就是你点击的jar文件的文件全名。

 

8,你也可以为每一个可执行的jar文件创建一个.bat文件,其中的命令是javaw -jar AAA.jar 或者java –jar AAA.jar等文件。

    这样,无需关联jar文件,就可以执行jar文件。 
 法3:较全面实用的方法:http://blog.csdn.net/Alend_Yin/archive/2008/03/03/2144341.aspx

在Windows下,用C++或C#写的桌面软件编译之后都是以可执行文件(.exe)的形式出现,只需双击便可运行。然而用java写的桌面应用软件编译之后是以学多字节码文件(.class)的形式出现,本文介绍了怎样制作像exe一样的可执行jar文件。

1  将该软件包含的.class文件打包成jar文件。
        如一个软件的结构如下:
                            - soft
                               - control
                                 Program.class
                               - model
                                 Data1.class
                                 Data2.class
                                 ...
                               - view
                                 Frame.class
                                 Pane1.class
                                 Pane2.class
                                 ...
       其中soft,control,model,view均为包,其他均为class文件

2 在相应目录下使用jar cvf soft.jar soft 打包成jar文件
 
3 更改jar文件中的MANIFEST.MF文件
       Manifest-Version: 1.0
       Main-Class: soft.control.Program
       Class-Path: lib/ych.jar lib/mysql.jar
       SplashScreen-Image: slash.jpg
       Created-By: ych

 其中Main-Class为必须项,指定main函数的入口类,在这里是Program.class;Class-Path指定了该程序要用到的 外部包,这里用到了 ych.jar和mysql.jar(如果软件没用到外部包就不需要了);SplashScreen-Image指定了该软件的起始 画面(一般用不着的);Created-By指明了开发者或开发公司,它和Manifest-Version均是自动生成的。

4 最后整个软件的目录结构如下:

     soft.jar     // 可执行jar文件(如果用了SplashScreen-Image,则slash.jpg也包含在其中)
     lib             // 所引用的外部库目录(这里包括ych.jar和mysql.jar)
     data         // 软件运行时访问的外部文件资源目录,包括程序访问的文件等(tips:程序中必须使用相对路径来访问这些文件,如"data/config.xml","data/icon/logo.png"等)

5 到这里,就可以用java -jar soft.jar运行该软件了,或者直接双击运行(但要确保jar文 件的默认打开方式是javaw.exe -jar,可在文件夹选项->选择jar文件->编辑文件类型->在用于执行操作的应用程序中输入"C:\Program Files\Java\jdk1.6.0\bin\javaw.exe" -jar "%1" %*)【根据jdk的安装路径有所修改】【Javaw.exe -jar启动没有命令行窗口