java 应用程序的打包发行

Xilinx Vivado LDPC IP core,TSN IP core. 各种IP core 阅读详情
这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了。NetDuke的EXE程序包了是使用这种方案制作的。在操作步骤上还是比较简单的,而且通用性强。

1.程序打包
        首先将程序打成Jar包,打包命令:jar cf 包文件名.jar *.class。接下来编译包中的清单文件MANIFEST.MF 。
        Manifest-Version - 指定清单文件的版本号
        Main-Class - 指定程序运行的入口类。注意:类名后不要加class扩展名

2.让用户电脑不必安装JRE环境
        通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:

     (1)将原JDK中的“jre”目录复制到“D:/项目文件夹/java1.4.2”目录下(java1.4.2也可换成其他名称)。
     (2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。
     (3)修改批处理文件run.bat中的命令为“start java1.4.2/jre/bin/javaw -jar NetDuke.jar”,仅仅是在javaw前加上了一个相对应路径。
      双击run.bat即可在不安装JRE环境的电脑运行此Java应用程序。


3.更进一步的完善
        1、抛弃批处理文件(*.bat)

      用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
      我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是: http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

         下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下:
         1.source目录包含了JavaLauncher的源程序,是用C语言写的
      2.changes.txt是新版的修改说明
      3. launch.exe是主程序
      4. launcher.cfg是配置文件
      5.readme.txt是一些说明和示例
      我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下:
         .
         ./java1.4.2/jre/bin/javaw.exe
         -jar NetDuke.jar

         第一行设置指向JAR包NetDuke.jar的目录,由于launch.exe和NetDuke.jar同在一个目录,所以用“.”即当前目录。
      第二行设置指向jre/bin/javaw.exe的路径。要先将jre目录复制到了java1.4.2子目录中
配置好launcher.cfg后,双击launch.exe即可运行java应用程序。

      如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:eclipse.exe相当于 launch.exe,startup.jar相当于NetDuke.jar。只不过eclipse.exe不象launch.exe要具有通用性,所以 它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。


4.美化图标
         launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker,它有中文版,下载网址是:
       http://www.users.on.net/johnson/resourcehacker/
         用Resource Hacker来替换launch.exe的图标的步骤如下:
      (1)运行Resource Hacker。
      (2)单击主菜单“文件→打开”,将launch.exe载入到程序中。
      (3)选择左边的“图标→1→1030”,然后右键单击“1030”项,选择“替换资源…”。然后在弹出窗口中单击“打开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。
       附注:图标文件可以是exe、dll、res、ico,该软件可以从exe、dll、res抽取出图标,本例选择的是Java的吉祥物Duke.ico。
      (4)选择“文件→另存为”,取名NetDuke.exe。
       附注:按理说选择“保存”也是可以的,这时Resource Hacker会将老的launch.exe备份成launch_original.exe。但也许是刷新上有问题,用“保存”方式有时launch.exe无法显示出新图标,但有时又可以。
      (5)最后的目录如下所示,可见NetDuke.exe(也就是launch.exe改了个名称)的图标换成了Java的图标。双击NetDuke.exe即可运行Java应用程序。
       1.java1.4.2(文件夹)
           2.launcher.cfg
           3.NetDuke.exe
           4.NetDuke.jar


5.最后的打包
         发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序,Eclipse软件就是这种方式。

      另外大家要注意的几点:
      (1)Java应用程序中用到的资源,它都必须要求写绝对路径,否则在其它机子上就会出现找不到资源。所以一般我们在写程序时就要注意一定要 用绝对路径,例如:Toolkit.getDefaultToolkit().getImage(getClass().getResource("文件 名")));像这种写法就一定没问题。当然如果要将资源传递给构造器的话就没办法了,例如:NetDuke frame = new NetDuke("资源");这是我们就须要将资源拷贝到项目文件夹下一起打包。
      (2)一般我们的Jre都有60多M,这样和程序一起打包就显得很臃肿。所以要将Jre适当地减肥,具体的作法这样不再累赘,大家在一台还没 装JRE的机上测试,将JRE中的一个个文件删除后程序是否可正常运行。还有一个就是rt.jar这个Java类库也要大量的砍伐。

       通过以上的操作即可得到使大家满意的一个exe程序包,而不用借助其它软件。希望对大家有帮助。  
CHI里的Error handling机制 本文讲解了CHI里的Error handling机制。 阅读详情

相关推荐

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1525

java 应用程序的打包发行

订阅 | 上一篇 | 下一篇 Java 转: Java应用程序项目的打包与发行 作者:starsinsky 日期:2006-08-09 字体大小: 小 中 大 这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了。NetDuke的EXE程序包了是使用这种方案制作的。在操作步骤上...

Mircle_Wang的专栏 485

Voronoi算法构建多晶

孪晶多晶 采用孪晶的原子链作为种子通过voronoi算法可以得到孪晶多晶结构。 孪晶种子: txt文件不需要特殊设置 box 150 150 150 random 8 得到孪晶多晶: 通过改变孪晶种子的长度可以得到不同孪晶片层厚度的多晶。 准二维柱晶 所有晶粒在某一维度的晶向一致,晶粒仅在平面内具有旋转关系,所有晶界为旋转对称晶界,这种结构的多晶其位错滑移在某些方向受限,但是能极大的提高晶粒...

yamatachi的博客 5280

java 程序的打包

<br />方法一、把CLass文件和 META-INF文件夹压缩为zip文件 (压缩为rar是不可以的),然后把压缩包改为.jar文件<br />方法二、<br />1.建立MANIFEST.MF (比如在D:/abc目录下) <br />以下内容为文件内容 (只复制2行等于号之间的)<br />================== <br />Manifest-Version: 1.0 <br />Main-Class: RoundButton<br />Created-By: Abc <br />==

xifeifei的专栏 432

STM32G4系列数字LLC控制程序开发实战

本文详细介绍了基于STM32G4系列MCU的数字LLC控制程序开发全流程。从开发环境搭建、中断服务函数设计,到核心的电压环PID算法、Burst模式控制、状态机设计以及软启动优化,提供了完整的实战代码和关键参数调试经验,帮助开发者高效实现高性能数字电源控制。

weixin_29185493的博客 281

全桥LLC谐振变换器变频控制工作原理与仿真

全桥LLC谐振变换器以其效率高、全范围软开关、器件电应力小等优点,越来越多地应用于大功率场合。电力电子技术的发展日益追求高频化,所带来的问题是半导体开关器件高频运行时的开关损耗急剧增加。各种软开关电路随之出现。可以有效减小开关损耗,使进一步提高开关频率成为可能。谐振式开关因其可在电流自然过零点开通半导体器件,实现零电压开关,特别适合采用MOSFET作开关的装置。最简单的谐振电路有串联谐振(SRC)和并联谐振(PRC)。SRC只能工作于降压状态,应用受限;

晞子的技术札记 3079

Java 项目如何打包及部署?

当使用Spring Boot结合Maven构建单体应用时,正确的项目打包配置至关重要。

人生嘛!无非是左脚比右脚前,右脚再比左脚前,明天比今天好! 3037

在MacBook上直接跑Windows Server 2022:一个开发者的真实踩坑与配置全记录

本文详细记录了在MacBook上原生运行Windows Server 2022的完整流程与优化技巧。通过Boot Camp实现非虚拟机安装,开发者可以充分利用Mac硬件性能,搭建高效的本地开发环境,特别适合需要测试跨平台应用和服务器功能的场景。文章涵盖驱动处理、分区策略、Docker配置等关键步骤,为技术极客提供实用指南。

weixin_42620913的博客 247

Java程序的打包发布

Java程序打包时一般无法直接生成.exe(Windows) .app(Mac)等操作系统平台能够直接识别并运行的应用程序,因此Java软件发布的过程与其他软件不同,较为复杂。本文旨在总结Java程序打包的方法和流程。

Apollorion的博客 7864

手把手教你用Multisim仿真ADC接口电路(附峰值采样与电平抬升实战)

本文通过Multisim软件,手把手教学如何构建高保真ADC前端信号调理电路。核心实战内容包括峰值采样保持电路与电平抬升电路的设计、仿真与调试,旨在解决模拟信号接入ADC时遇到的幅度不匹配、负电压等问题,帮助电子设计者快速掌握关键接口电路的实现技巧。

ooo22的博客 259

SAP ALV表格F4搜索帮助不触发DATA_CHANGE?3步排查搞定

本文针对SAP ALV表格中F4搜索帮助选择值后,DATA_CHANGE事件不触发的经典问题,提供了三步系统性排查方法。核心在于理解F4值回写机制,并需在事件处理中手动填充修改表以通知ALV控件数据变更,从而确保后续校验、自动计算等依赖DATA_CHANGE的逻辑能正常执行。

c2d3e4f的博客 1135

Java 快速开发几 MB 独立 EXE,写图形界面很方便

Java 写的桌面软件带上运行时只有 6 MB,而且还是独立 EXE 文 件,是不是难以置信?想一想 Electron 没写多少功能就可能超过百 MB 的体积,Java 写的桌面软件算不算得上小、轻、快呢?aardio 可以支持很多编程语言, Java 就是其中之一。aardio + Java 可生成体积极小的独立 EXE 文件,可以内存加载 Java 编写的 class 文件,用 aardio + Java 生成的软件,发布时不需要携带 Java 运行时。aardio 写图形界面很方便。

jcc4261的博客 1039

从Transformer到Mamba:显著性检测领域的计算效率革命(Samba框架深度解析)

本文深入解析了Samba框架在显著性目标检测(Salient Object Detection)领域的创新应用,通过结合Mamba架构的优势,实现了计算效率的革命性提升。Samba框架采用显著性引导的Mamba模块(SGMB)和上下文感知上采样(CAU),有效解决了传统CNN和Transformer的局限性,同时在RGB-D等多模态任务中展现出卓越性能。

mmm90的博客 557

java应用程序项目的打包与发行

项目打包与发行        当项目完成后接下来的就是打包发行了,应用程序(Application)项目和Eclipse插件项目(plugin)的打包是不同的,本章将分别介绍两者的打包方法,并给出实际的打包例子。  7.1  应用程序项目的打包与发行  7.1.1  简介        Java应用程序项目完成后是可以脱离Eclipse运行的,要运行程序先要打它打成一个JAR包,它打包的大

走在java的路途上 716

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java 应用程序的打包发行[转]

这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了。NetDuke的EXE程序包了是使用这种方案制作的。在操作步骤上还是比较简单的,而且通用性强。 1.程序打包 首先将程序打成Jar包,打包命令:jar cf 包文件名.jar *.class。接下来编译包中的清单文件MANIFEST.MF 。 Manifest-Version - 指定清单文件的

咖啡23时营业 882

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java应用程序项目的打包与发行

Java应用程序项目的打包与发行  这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了。NetDuke的EXE程序包了是使用这种方案制作的。在操作步骤上还是比较简单的,而且通用性强。 1.程序打包         首先将程序打成Jar包,打包命令:jar cf 包文件名.jar *.class。接下来编译包中的清单文件MANIFEST.MF 。 ...

weixin_33696106的博客 103

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 简化Java应用程序的打包和发布
下一篇: Java设计模式之迭代器模式
ichsonx
博客等级 码龄19年 202粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值