Java打包商用化软件
这是我在博客中写的第一篇文章。还请各位大神们多多指教!
我会详细讲解如何将我们由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打包商用化软件的更多相关文章
- [破解]java打包Exe工具 - Jar2Exe Wizard
打包java文件为exe的方法和软件有很多,还有一些开源的软件和一些免费的软件. 我用过的所有打包exe软件中,Jar2Exe Wizard是最好用的,但是只有一个月的试用期,需要的可以从官网下载. ...
- java打包小记
1.一个类的 Hello.java class Hello{ public static void main(String[] agrs){ System.out.println("hell ...
- java打包遇到问题java.io.IOException: invalid header field
问题:java打包时报以下错误 $ jar -cvmf main.txt test.jar Shufile1.class java.io.IOException: invalid header fie ...
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行.国家安全等行业领域. 要求建设开发大型复杂的网站,但仅有一个idea,不能够提供网站详 ...
- 安全模式下卸载windows installer打包的软件(转)
安全模式下卸载windows installer打包的软件 起因: 主机系统MAC,虚拟软件Parallels Desktop, 虚拟系统 Win 7. 今天在虚拟机WIN7里面安装了某个软件导致重启 ...
- Java打包生成exe(使用exe4j和inno setup)
Java打包生成exe 生成jar 先使用eclipse生成可执行的jar[可执行的jar包含内容更全面,包括指定主类的.mf] Exe4j的使用 一定要可执行jar进行打包. Project typ ...
- 用idea工具对java打包:命令 mvn clear package,报错
用idea工具对java打包:命令 mvn clear package,报错 网上都是eclipse的,要么是project structure和setting的(当然这俩也要用) 我都试了,每一个能 ...
- win7+64位+Java学习基本软件安装+环境配置+eclipse(IDE)
一.下载安装JDK 1.安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.h ...
- java打包成可执行的jar或者exe的详细步骤
Java程序完成以后,对于Windows操作系统,习惯总是想双击某个exe文件就可以直接运行程序,现我将一步一步的实现该过程.最终结果是:不用安装JRE环境,不用安装数据库,直接双击一个exe文件,就 ...
随机推荐
- .net mvc的“从客户端中检测到有潜在危险的 Request.Form 值”问题解决
第一种解决方案 : 在控制器调用的方法上添加[ValidateInput(false)] 第二种解决方案 : 在对应的asp.net web页面上加上ValidateRequest="fal ...
- python实现常见排序算法
#coding=utf-8from collections import deque #冒泡排序def bubblesort(l):#复杂度平均O(n*2) 最优O(n) 最坏O(n*2) for i ...
- auth组件
Django auth认证组件 简介 ''' Django auth认证组件提供了用户表的构建方式,认证接口,会话登录与注销接口. 中间件将会话登录用户保存到request对象中,这样不用从会话中获取 ...
- git增加子模块
要拉取GIT代码时,有时候需要拉取多个GIT模块,一起配合使用: 1.下载主模块: git clone -b master http://username:passwd@git.wondershare ...
- postgre的函数创建
语法: CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name ...
- Net Framework 4.7.2 覆盖 Net Framework 4.5 解决办法
场景:由于c盘空间不够,本机pc又安装了 vs2013 和 vs2017 : 所以通过,github上的一个工具,把vs2013 卸载完毕,只留下vs2017: 导致问题由于项目需要net frame ...
- ansible字符串的处理
ansible中字符串的处理 from_json json_query join select selectattr map list trim 列表和字典的处理 combine
- ssh 连接不上报Connection closed by remote host
解决办法 (1)查看这两个文件是否有阻止cat /etc/hosts.deny cat /etc/hosts.allow (2)客户端连接数过多修改/etc/ssh/sshd_config中#MaxS ...
- Taro父子组件通信
父组件 testEvent = () =>{ console.log('abc123') } <Test test={1231323} onTestEvent={this.testEven ...
- 大数据ssh疑点跟踪
相信运维的对ssh免密登陆应该是对这个再清楚不过的吧,由于我们大数据对于安全这方便管控的很严格,单独找一台物理机作为跳板机,其他的机器都必须要从这个跳板机免密登陆,由于机器比较的多,其中dn30这个域 ...