这是我在博客中写的第一篇文章。还请各位大神们多多指教!
我会详细讲解如何将我们由java的swing以及awt组件编写出的java可视化窗口程序编制成一个我们能够让用户使用的,商业化,可安装的软件。网上的资料大都十分碎片化,看了之后往往会出现很多问题,导致最终无法成功。笔者在经过三天的尝试之后,总结出了以下经验,并且在这里全部整理一番,希望能够帮助到大家。具体的绿色工具也会在下面给出链接。
1.首先,笔者使用的是Intellij IDEA开发工具,个人认为这应该是比Eclipse更加先进的开发工具。因为在我们安装好JDK之后,完全不需要配置环境变量就可以自动检测JDK的路径,从而使我们的程序跑起来,并且没有困难的编译器设定,就可以使我们的编译器自动进行代码补全,十分方便。JetBrains公司确实在这方面做得不错。如果您用的Eclipse开发工具的话,也没有关系,其操作过程也是十分相似的。按照下面的步骤即可。

2.打开您的intellij idea,点击新建工程。

2.编写您的JAVA核心代码,也可以直接将以前编写好的代码直接复制过来放到这里,然后运行。看运行出来的GUI界面是否和我们所预期的GUI界面相同,是否会返回不正确的值等等。如果是的话,请您执行下一步

3.按组合键ctrl+shift+alt+s进入项目结构界面,点击第二张图片上的『+』按钮,选择第二个选项。

4.为jar包添加一个主函数,点OK继续

4.如果主函数有依赖包,点击『+』按钮添加依赖jar包,点击OK后可以看到工程中多出了META-INFO文件,里面包含了Jar的入口函数信息。

5.执行组建jar操作:按照下图操作后可以看到最终生成的jar文件

这样的话我们的jar就生成好了。现在我们就可以通过我制作的的jar  to exe工具将其变成一个可在别人计算机上运行的exe程序。

其中的百度链接是:https://pan.baidu.com/s/1nwCvI33。一直点击下一步即可生成后缀为exe的可执行程序。

6.其中最重要的一步来了,既然我们已经得到了exe程序,如何才能够将我们的软件进行打包成一个可安装程序呢?请右转到360软件中心下载一个名为inno setup 免费的软件。在您连续点击了无数次next后,这软件会自动生成脚本文件,他长这样诶嘿。(这里的方法是笔者Geeksongs自己原创的!整个中国仅此一家!其他软件开发者都写的十分凌乱,并且根本无法使用它们的方法!使用它们的方法不会适用于新版!直接会使计算机崩溃!笔者就遭殃过,因此想把自己的方法分享出来,以免大家再次犯错!)

这时!要注意了!这个脚本文件由于其适用的版本过低!因此必须在下面的脚本代码中进行一定的更改!来,让我们看到下面的[Taks]类的脚本代码。在一段代码flags后面写的是:unchecked!这肯定是不对的!这段代码的含义是:使其不可见(被动不可见,意思你想看见也看不见)因为这样的话,我们安装好的软件就不会在桌面和开始菜单栏里创建快捷方式哟!因此应该将所有的unchecked改变为checkablealone!然后再继续往下,看到我们的最后一栏代码,有个0,6.1这里表明的是您的windows版本。如果想要在win7,win8,win10上安装成功的话,我们应该将其改变为0,8.1!这样的话脚本程序才可以在我们新版本的电脑上运行。

7.点击键盘上的F5,便可以得到我们的软件安装包了。

8.是不是很有意思呢?这样您所编写的JAVA软件就可以在别人的电脑上运行了,在其他计算机科学专业的朋友面前还可以炫耀一番。毕竟JAVA语言是在大二下学期开始学习的,打包程序是在研究生阶段才会有的。如果您在大一上期就做到了话,确实不错!

   

Java打包商用化软件的更多相关文章

  1. [破解]java打包Exe工具 - Jar2Exe Wizard

    打包java文件为exe的方法和软件有很多,还有一些开源的软件和一些免费的软件. 我用过的所有打包exe软件中,Jar2Exe Wizard是最好用的,但是只有一个月的试用期,需要的可以从官网下载. ...

  2. java打包小记

    1.一个类的 Hello.java class Hello{ public static void main(String[] agrs){ System.out.println("hell ...

  3. java打包遇到问题java.io.IOException: invalid header field

    问题:java打包时报以下错误 $ jar -cvmf main.txt test.jar Shufile1.class java.io.IOException: invalid header fie ...

  4. 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域

    目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行.国家安全等行业领域. 要求建设开发大型复杂的网站,但仅有一个idea,不能够提供网站详 ...

  5. 安全模式下卸载windows installer打包的软件(转)

    安全模式下卸载windows installer打包的软件 起因: 主机系统MAC,虚拟软件Parallels Desktop, 虚拟系统 Win 7. 今天在虚拟机WIN7里面安装了某个软件导致重启 ...

  6. Java打包生成exe(使用exe4j和inno setup)

    Java打包生成exe 生成jar 先使用eclipse生成可执行的jar[可执行的jar包含内容更全面,包括指定主类的.mf] Exe4j的使用 一定要可执行jar进行打包. Project typ ...

  7. 用idea工具对java打包:命令 mvn clear package,报错

    用idea工具对java打包:命令 mvn clear package,报错 网上都是eclipse的,要么是project structure和setting的(当然这俩也要用) 我都试了,每一个能 ...

  8. win7+64位+Java学习基本软件安装+环境配置+eclipse(IDE)

    一.下载安装JDK 1.安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.h ...

  9. java打包成可执行的jar或者exe的详细步骤

    Java程序完成以后,对于Windows操作系统,习惯总是想双击某个exe文件就可以直接运行程序,现我将一步一步的实现该过程.最终结果是:不用安装JRE环境,不用安装数据库,直接双击一个exe文件,就 ...

随机推荐

  1. 总结UIViewController的view在有navBar和tabBar影响下布局区域的问题

    影响 View 布局区域的有以下三个属性: self.edgesForExtendedLayout (影响View布局区域的主要属性) self.navigationController.naviga ...

  2. PADS Layout VX.2.3 更改Logic符号,并更新到原理图

    操作系统:Windows 10 x64 工具1:PADS Layout VX.2.3 统一使用A3尺寸的原理图,如果Logic符号画得太大,就会占用过多的面积.如下图所示,电阻的两只引脚的跨度占用了4 ...

  3. react安装 项目构建

    1.nodejs安装 下载安装包,解压.如果是已编译文件,在/etc/profile中设置PATH(/etc/profile文件中的变量设置,所有用户可用,但需求重启服务器),并source /etc ...

  4. C#嵌入子窗体,判断子窗体是否打开了

    /// <summary> /// 嵌入子窗体,判断子窗体是否打开了 /// </summary> public static Form1 f; public void For ...

  5. [原创]基于Zynq SDIO WIFI 2.4G/5G SotfAP STA

    支持正基WiFi模块.高通WiFi模块: 2.4G速率: 5G AC速率: 支持SoftAP.STA模式:

  6. html_jQuery_ajax

    ajax核心对象:  XMLHttpRequest 那年创建的XMLHttpRequest对象 创建的.. ajax 几种常用方法: load(); $.get(); $.post(); $.getS ...

  7. java-数组排序--计数排序、桶排序、基数排序

    计数排序引入 不难发现不论是冒泡排序还是插入排序,其排序方法都是通过对每一个数进行两两比较进行排序的,这种方法称为比较排序,实际上对每个数的两两比较严重影响了其效率,理论上比较排序时间复杂度的最低下限 ...

  8. SpringBoot-异常问题总结

    一:创建的SpringBoot项目之后测试访问接口报错: Whitelabel Error Page This application has no explicit mapping for /err ...

  9. Android进阶:七、Retrofit2.0原理解析之最简流程【下】

    紧接上文Android进阶:七.Retrofit2.0原理解析之最简流程[上] 一.请求参数整理 我们定义的接口已经被实现,但是我们还是不知道我们注解的请求方式,参数类型等是如何发起网络请求的呢? 这 ...

  10. Akka.net 性能测试兼使用小技巧

    最近想研究一下分布式开发,先拿了akka.net 跑一下性能 参考自己写个网络实现,一般在本机通讯,300M每秒的传输率,作为参考 嗯,先说结果,用Akka.net直接发bytearray,最后也只有 ...