一、用Eclipse生产Jar文件

首先,看一下我的项目的目录结构:

Jar包 java生成dbf文件并下载 jar如何生成_Windows

 

注意:

在项目的目录下,和src同级建一个META-INF文件夹,

 

里面建立一个METAINF.MF,

 

里面指定main-class以及程序运行相关的代码,

 

我写的代码是:

 

Manifest-Version: 1.0
Main-Class: email.Main// 导入环境变量
Class-Path: .lib/freemarker-2.3.15.jar lib/javax.mail.jar lib/log4j-1.2.16.jar lib/quartz-2.2.3.jar lib/quartz-jobs-2.2.3.jar lib/slf4j-api-1.7.7.jar lib/slf4j-log4j12-1.7.7.jar lib/spring-context-support-3.1.2.RELEASE.jar lib/spring-core-3.1.2.RELEASE.jar lib/spring-beans-4.2.2.RELEASE.jar
Created-By: jack

 

1,项目名字上面点右键,选择Export,在选择java\JAR file下一步;如下图:

Jar包 java生成dbf文件并下载 jar如何生成_jar_02

(2),选择,src文件夹,.classpath和.project可以去掉不选。Select the export distination(选择输出路径),下一步。

Jar包 java生成dbf文件并下载 jar如何生成_Windows_03

(3),去掉Export class files withcompile errors(编译错误时也输出class文件)的选项,单击下一步。

Jar包 java生成dbf文件并下载 jar如何生成_java工程如何生产jar、exe_04

(4), 选择自己编写的METAINF.MF 文件

Jar包 java生成dbf文件并下载 jar如何生成_jar_05

(5),Finish

二、使用exe4j生可执行的.exe文件

能够生成.exe文件的软件有很多,自己去查一下,我这里只用 exe4j,先去下载一个exe4j并安装。假设你的项目已经胜利打包成jar文件,那么就可以进行下面的操作了。

首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在E盘创建了一个“111”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的DataStructure.jar)都拷贝到这个文件夹里, lib目录,如果你要使对方计算机在没有安装JDK的情况下也能使用该程序,就需要将自己机器上的jre目录也拷贝进来,我安装的jre7,最后的目录结构如下:

 

Jar包 java生成dbf文件并下载 jar如何生成_java工程如何生产jar、exe_06

 

 

1、如果你有保存过的项目打包配置文件,那么点>>open打开点击next

2 、Project type-选择打包方式


Jar包 java生成dbf文件并下载 jar如何生成_jar_07

 

选择“jar in exe”

3、 Application info-配置生成的应用程序的信息


Jar包 java生成dbf文件并下载 jar如何生成_jar_08

选择你的应用程序的名称和将要生成的可执行文件的输出文件夹。然后>>next.

4、Executable info -配置可执行文件的参数


Jar包 java生成dbf文件并下载 jar如何生成_Jar包 java生成dbf文件并下载_09

 

 

如果只允许生成的exe文件同时只能打开一个程序运行,则把 “Allow only a single running instance of the application”这项的选择钩上。“Icon File”项表示生成exe文件后的图标,选择一个“.ico”格式的图片(可以不选)。

因为我用的64-bit, 所以去这个里面把这个勾上,  否则出来的exe 执行报错虚拟机不可用。

Jar包 java生成dbf文件并下载 jar如何生成_Jar包 java生成dbf文件并下载_10

 

 

5、java invocation-配置运行环境

在class path框下清除原有的class path路径,点击右侧的”+”选择打包好的jar文件

(1)、在Archive中选择要导入的jar文件,如下图:

Jar包 java生成dbf文件并下载 jar如何生成_java工程如何生产jar、exe_11

点击“OK”,结果如下:

  

(2)、在Main class中选择入口类,即含有main函数的类。

Jar包 java生成dbf文件并下载 jar如何生成_java_12

 

之后点击next

Main Class设置完成后,依次将所有需要的第三方类(即外部类)加到Class Path下,方法同添加“www..jar”一样,点击“Next” 

6、jre-配置jre【以下(1)、(2)点很重要】

在Minimum和Maximum中分别填写所允许的最小和最大JDK的版本号。

如果要在这个程序中捆绑jre,则进入Configure search sequence选项:

Jar包 java生成dbf文件并下载 jar如何生成_Windows_13

 

(1)、将Search Windows registry保留,如果没有该项,请点击绿色“+”,选择“search registry”,然后点击“OK”如下图;

Jar包 java生成dbf文件并下载 jar如何生成_java_14

(2)再把其它的所有的directory删除,特别是如果有“JAVA_HOME”或“JDK_HOME”的话一定要删除,因为他会保存你本机的JAVA_HOME地址,安装时会出现路径找不到的错误;

(3)、点击绿色“+”来选择捆绑的JRE位置

选择刚刚拷贝好的jre 我这里选择是我本机安装的jdk路径:

在preferred VM中选择一种-选择虚拟机类型,我选择的是 Default VM。 

7、接下来没有什么特别重要的配置了,可根据需要自己去选一些参数,也可以直接next,next,知道完成。

8、可能出现的问题

生成exe文件之后可能每次打开都会出现提示框:this executable was created with an evaluation version of exe4j

这是因为你还没有注册exe4j软件,注册之后就不会有提示了。百度搜 一堆

三、将自己编写的程序制作成能在Windows下安装的软件

首先,自己去下一个Inno setup,安装很简单,就不用说了,直接根据提示安装。下载链接:http://www.crsky.com/soft/7195.html#down

Inno Setup是一个免费的 Windows安装程序制作软件,我用的是Inno Setup v5.4.3。

方法一:

1、编辑脚本程序

我的脚本程序如下:

 

[Setup]
AppName=数据结构演示程序
AppVersion=1.5
DefaultDirName={pf}\www2
DefaultGroupName=www2
;UninstallDisplayIcon={app}\MyProg.exe
OutputDir=D:\java

[Files]
Source: "E:\www2\jre\*"; DestDir: "{app}\jre"
Source: "E:\www2\jre\bin\*"; DestDir: "{app}\jre\bin"
Source: "E:\www2\jre\bin\client\*"; DestDir: "{app}\jre\bin\client"

Source: "E:\www2\jre\lib\*"; DestDir: "{app}\jre\lib"
Source: "E:\www2\jre\lib\audio\*"; DestDir: "{app}\jre\lib\audio"
Source: "E:\www2\jre\lib\cmm\*"; DestDir: "{app}\jre\lib\cmm"
Source: "E:\www2\jre\lib\deploy\*"; DestDir: "{app}\jre\lib\deploy"
Source: "E:\www2\jre\lib\ext\*"; DestDir: "{app}\jre\lib\ext"
Source: "E:\www2\jre\lib\fonts\*"; DestDir: "{app}\jre\lib\fonts"
Source: "E:\www2\jre\lib\i386\*"; DestDir: "{app}\jre\lib\i386"
Source: "E:\www2\jre\lib\im\*"; DestDir: "{app}\jre\lib\im"
Source: "E:\www2\jre\lib\images\cursors\*"; DestDir: "{app}\jre\lib\images\cursors" 
Source: "E:\www2\jre\lib\management\*"; DestDir: "{app}\jre\lib\management"
Source: "E:\www2\jre\lib\security\*"; DestDir: "{app}\jre\lib\security"


Source: "E:\www2\jre\lib\zi\*"; DestDir: "{app}\jre\lib\zi"
Source: "E:\www2\jre\lib\zi\Africa\*"; DestDir: "{app}\jre\lib\zi\Africa"

Source: "E:\www2\lib\*"; DestDir: "{app}\lib"
Source: "F:\111\jac.exe"; DestDir: "{app}";
                                                                                  
[Icons]
Name: "{group}\www2"; Filename: "{app}\jack.exe"

 

接下来稍微解释一下:

这个段包含用于安装程序和卸载程序的全局设置。

AppName(要安装的)程序名称

AppVersion程序版本号

DefaultDirName安装时默认的文件夹

DefaultGroupName快捷菜单或开始菜单的默认文件夹

OutputDir安装程序的输出路径

 

[Files]这是定义安装程序安装文件到用户系统中的可选文件段。

Source资源文件

DestDir文件安装到用户系统中的目录。

[Icons]这个可选段定义所有创建在开始菜单和/或其它位置 (比如桌面)的快捷方式。

Name要创建的快捷方式的名字和位置。

Filename捷方式的命令行文件名,通常用一个目录常量开头。

 

2、编译

编辑好脚本程序之后选择“构建”\“编译”完成后即可。

方法二:

选择"文件"/"新建",打开''Inno Setup脚本向导"创建新的脚本文件。

最后:本文非原创是参考一位大神的文章,由于个人正在做一个邮件发送天气预报的功能,上述第三步

将自己编写的程序制作成能在Windows下安装的软件 还未尝试,其他都是可以完成的,感谢那位大神。


Jar包 java生成dbf文件并下载 jar如何生成_Windows_15

 

 

 

Jar包 java生成dbf文件并下载 jar如何生成_jar_16