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文件,就 ...
随机推荐
- boostrap日期时间插件datetimepicker使用过程的一些问题总结
1.汉化问题 虽然有转门的汉化脚本,不过如果简单使用的话自己稍微改一下源码就行了: var dates = $.fn.datetimepicker.dates = { en: { days: ['Su ...
- golang 关于 interface 的学习整理
Golang-interface(四 反射) go语言学习-reflect反射理解和简单使用 为什么在Go语言中要慎用interface{} golang将interface{}转换为struct g ...
- WIN10远程连接,报错身份验证错误,要求的函数不受支持
我电脑是win10系统,我办公时经常需要远程连接其他电脑.突然间远程连接时就开始报错以下错误,导致无法远程连接. 这可能是由于CredSSP加密Oracle修正. 解决方法: 运行 gpedit.ms ...
- docker删除已经停止的容器
前言:docker容器已经停止运行的容器,怎么清理 1.如图: docker ps -a :显示所有运行过的docker容器 status : docker容器的状态 docker ...
- EF core的模型映射
在EF core里,可以通过实现IEntityTypeConfiguration来进行映射. 一.官网文档 https://docs.microsoft.com/en-us/ef/core/what- ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165323
1.Kali下载路径 由于之前的课程中已经安装过VMware虚拟机,这一个步骤就省去 2.安装 (1)创建新的虚拟机->典型->添加镜像路径 (2)选择操作系统linux (3)进行虚拟机 ...
- Nginx 静态页面POST 请求提示405 Not Allowed
从git上cp了一个开源的前端框架lay Ajax版本,用Nginx配置访问首页没问题 nginx配置如下: server { listen ; server_name adminhtml.com; ...
- [Linux][转载]Curl命令详解
命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的http命令行工具,当处在无界面的服务器上的时候,利用curl下载上传文件是较为方便的事情. 语法 ...
- Virtual box中Ubuntu虚拟机磁盘碎片整理和空间清理方法
虚拟机中,随着不断的使用,增加大文件(例如日志,视频和软件版本),虽然在虚拟机中手动删除了,但是虚拟机占用的空间并不会随之减少,需要手动清理一下. 这里介绍一种Virtual box中Ubuntu碎片 ...
- Emsemble
RM # -*- coding: utf-8 -*- """ RandomForestClassifier 예 """ import pan ...