最详细的Java程序打包成“可安装使用”的桌面应用

文章目录

  • 前言
    • 准备工作
  • Java程序导出为可运行的jar包
  • 用exe4j工具将jar包转成.exe文件
  • 将.exe文件封装成可独立安装使用的桌面应用软件
  • 编程之外

在这里插入图片描述

前言

  (我的这个方法有些繁杂啊,但绝对够详细,知道更简便的方法的大佬跪求留言分享)٩(๑❛ᴗ❛๑)۶

Java程序要打包成桌面应用程序,主要分为以下三个步骤:

  • 一. 先将Java程序导出为可运行的jar包.
  • 二. 用exe4j工具,将导出的jar包转成可直接运行的.exe文件(注:此时的.exe文件是需要依赖jdk中的jre文件才能运行的).
  • 三. 使用 inno setup 工具将上一步的.exe和jre文件封装成可独立安装使用的桌面应用软件(发给任何人都可以安装使用啦.)

  用到的 exe4jinno setup 两个小工具可以去百度搜索它们的官网下载,也可以在我的公众号 编程之外 回复 java打包工具 获取我下载好的安装包,占用的空间也很小的,自己安装一下就好啦!


准备工作

  为了后面步骤讲解的方便,我们先在桌面新建一个文件夹,这里文件夹我命名为Java,需要一张.ico格式的图片用来做软件的图标(没有也可以不用,就是一会打包成的软件会比较丑,善良的博主我(想打我的同学忍住(´▽`)ノ )提供一个图片在线转换为ico格式的网站,只三步就可完成制作,网站页面如下:http://www.bitbug.net/)
最详细的Java程序打包成“可安装使用”的桌面应用_第1张图片


Java程序导出为可运行的jar包

  准备主清单文件 “MANIFEST.MF”(注:自己的Java程序中没有引用到第三方jar包的话,这步可直接跳过
  程序中引用了第三方jar包的Java项目,打包时需要自定义一个配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,文件内容如下:

Manifest-Version: 1.0
Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar
Main-Class: main.KillCheatFans

说明: Manifest-Version: 1.0是MAINIFEST的版本,Class-Path:指定了我们引用的第三方jar包的位置,第三行指定我们要执行的MAIN java文件。另外,这里还需要注意以下四点:

  1. Class-Path: 和Main-Class: 后边都有一个空格,一定要加上,否则会打包失败,错误提示为:Invalid header field;
  2. 假设我们的项目打包后为test.jar,按照MANIFEST.MF文件的定义,则应该在 test.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。否则将会出现“Exception in thread “main” java.lang.NoClassDefFoundError”的错误;
  3. Main-Class后面是类的全地址,如果你的主文件是test.java,文件里打包为package com.main; 那么这里就写com.main.test,不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;
  4. 写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误;

  在eclipse中(myeclipse也类似)选中要导出的 java程序或整个项目或包 都可以,此处我以我的JavaFTP项目下的sonyi.server包演示,右击在弹出的窗口中选择Export(导出)
最详细的Java程序打包成“可安装使用”的桌面应用_第2张图片
最详细的Java程序打包成“可安装使用”的桌面应用_第3张图片
选择导出类型JAR file --下一步
最详细的Java程序打包成“可安装使用”的桌面应用_第4张图片
取消勾选“.classpath”和“.project”,选择导出到的文件夹,点击“Next”
最详细的Java程序打包成“可安装使用”的桌面应用_第5张图片
保持默认,点击“Next”
最详细的Java程序打包成“可安装使用”的桌面应用_第6张图片
选择项目中程序运行的main方法所在的类文件,点击Finish(完成)(如有警告,不用理会点击ok)
最详细的Java程序打包成“可安装使用”的桌面应用_第7张图片
最详细的Java程序打包成“可安装使用”的桌面应用_第8张图片
  如下图此时桌面的Java文件夹下已经生成.jar文件,并且双击可运行了(有的同学的eclipse会受jdk版本的影响,导出的jar文件运行不了,会提示找不到主类,没关系它不影响我们后面的步骤罒ω罒)
最详细的Java程序打包成“可安装使用”的桌面应用_第9张图片


用exe4j工具将jar包转成.exe文件

注: 该步骤得到的.exe文件,是要依赖jdk目录下的jre文件才能运行使用的,所以要先去你自己jdk的安装目录下,把整个jre文件复制到桌面的Java文件夹中,后面步骤会用到。
最详细的Java程序打包成“可安装使用”的桌面应用_第10张图片
打开exe4j工具,直接点击Next(下一步)
最详细的Java程序打包成“可安装使用”的桌面应用_第11张图片
选择“JAR in EXE mode”,点击“Next”
最详细的Java程序打包成“可安装使用”的桌面应用_第12张图片
名称随便填,选择.exe生成的目录,点击“Next”
最详细的Java程序打包成“可安装使用”的桌面应用_第13张图片
  为生成的.exe取名,如果想生成自定义图标的.exe,那么选择你的ico文件(必须要有.ico格式的图片,没有则不√选这项),如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single…”.
最详细的Java程序打包成“可安装使用”的桌面应用_第14张图片
勾选,Next
最详细的Java程序打包成“可安装使用”的桌面应用_第15张图片
保持默认,Next
最详细的Java程序打包成“可安装使用”的桌面应用_第16张图片
点击绿色加号添加前面导出的.jar文件,OK
最详细的Java程序打包成“可安装使用”的桌面应用_第17张图片
选择Main class ,Next
最详细的Java程序打包成“可安装使用”的桌面应用_第18张图片
  输入一个Java最小Jre版本号,即低于这个版本的jre无法运行该程序,选择Advanced Options–Search sequence来添加运行.exe的jre环境
最详细的Java程序打包成“可安装使用”的桌面应用_第19张图片
点击绿色加号,添加本地运行环境,即刚刚复制到Java中的jre整个文件 Next
最详细的Java程序打包成“可安装使用”的桌面应用_第20张图片
保持默认,点击“Next”
最详细的Java程序打包成“可安装使用”的桌面应用_第21张图片
两个默认,“Next”
最详细的Java程序打包成“可安装使用”的桌面应用_第22张图片
最详细的Java程序打包成“可安装使用”的桌面应用_第23张图片
  此时已生成可运行的.exe文件了(电脑装有360或管家的可能会弹窗提示有木马.exe文件生成,不用担心这就是我们自己生成的,需要信任并找回.exe文件)可以关闭exe4j软件了
最详细的Java程序打包成“可安装使用”的桌面应用_第24张图片


将.exe文件封装成可独立安装使用的桌面应用软件

  打开inno setup软件,选择我标红的东西(博主拼音6级伤残有点懒得打字了,看图吧)
最详细的Java程序打包成“可安装使用”的桌面应用_第25张图片
Next
最详细的Java程序打包成“可安装使用”的桌面应用_第26张图片
设置软件的名称,版本
最详细的Java程序打包成“可安装使用”的桌面应用_第27张图片
Next
最详细的Java程序打包成“可安装使用”的桌面应用_第28张图片
  添加执行主程序,即Java文件夹中的.exe,添加依赖文件即Java文件夹中的jre文件,Next
最详细的Java程序打包成“可安装使用”的桌面应用_第29张图片
保持默认,三个Next
最详细的Java程序打包成“可安装使用”的桌面应用_第30张图片
最详细的Java程序打包成“可安装使用”的桌面应用_第31张图片
最详细的Java程序打包成“可安装使用”的桌面应用_第32张图片
选择安装语言,可多选,我是保持默认即English
最详细的Java程序打包成“可安装使用”的桌面应用_第33张图片
选择软件安装包生成位置及文件名,添加图标ico文件,设置安装密码(可不设置)
最详细的Java程序打包成“可安装使用”的桌面应用_第34张图片
Next
最详细的Java程序打包成“可安装使用”的桌面应用_第35张图片
Finish
最详细的Java程序打包成“可安装使用”的桌面应用_第36张图片
第一个窗口选 是,第二个选 否,等待一下
最详细的Java程序打包成“可安装使用”的桌面应用_第37张图片
最详细的Java程序打包成“可安装使用”的桌面应用_第38张图片
已生成软件安装包,可双击安装使用了,我也终于写完了
最详细的Java程序打包成“可安装使用”的桌面应用_第39张图片


编程之外

  这个方法真的是又臭又长,没点耐心估计做到第三大块就去了,奈何我只会这种方法,有其它方法打包的一定要在评论区留下你的jio印,必须留下你的jio敢.

  欢迎小伙伴入坑公众号 编程之外,学习更多的编程知识,寻找编程之外的乐趣,互相监督一起成长

  Java全栈学习路线已在公众号的【更多】发布,感谢你对编程之外的支持,学习Java的小伙伴可在公众号回复 pdf,获取Java学习和面试资料!在这里插入图片描述

编程之外

你可能感兴趣的:(Java,Java程序打包,Java程序打包成桌面应用,jar包导出,jar包转.exe文件,java项目打包)