如何将java和JRE打包生成绿色版程序

在Console执行java.exe xxx命令以后,如前所述的寻找JRE,OS找到JRE目录,根据java.exe的传递参数,选择加载Server版的jvm.dll还是Client版的jvm.dll,然后加载jvm.dll,把控制权交给jvm.dll。接下来,jvm.dll进行初始化,分配内存等等动作,然后在CLASSPATH路径中寻找class,找到class以后,寻找class中的...
如何将java和JRE打包生成绿色版程序
可以使用WinRun4J,在配置文件里指定JRE的相对位置,然后压缩到一个zip文件。到时解压运行即可2015-09-03
首要有必要了解一下java.exe 如何寻找JRE库的:
当在控制台执行java.exe,操作系统寻找JRE的方式如下:
1) 先找当前目录下有没有JRE
2)再找父目录下有没有JRE
3)接着在PATH路径中找JRE
4)注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\ 查看CurrentVersion的键值指向哪个JRE
2.JRE类库查找
JRE自带的基础类库主要是JRE\lib\rt.jar这个文件,包括了Java2平台标准版的所有类库。和JRE的版本一致。
JRE中由ClassLoader负责查找和加载程序引用到的类库,基础类库ClassLoader会到rt.jar中自动加载,其它的类库,ClassLoader在环境变量CLASSPATH指定的路径中搜索,按照先来先到的原则,放在CLASSPATH前面的类库先被搜到,Java程序启动之前建议先把PATH和CLASSPATH环境变量设好,OS通过PATH来找JRE,确定基础类库rt.jar的位置,JRE的ClassLoader通过CLASSPATH找其它类库。但有时候会出现这样的情况,希望替换基础类库中的类库,那么也可以简单的通过-Djava.endrosed.path=...参数传递给java.exe,于是ClassLoader会先于基础类库使用java.endrosed.path参数指定路径的类库。因此Java的版本管理是非常简单有效的,也许很原始,不过很好用,简单就不容易出错。
3.Java的虚拟机启动和加载类库
在Console执行java.exe xxx命令以后,如前所述的寻找JRE,OS找到JRE目录,根据java.exe的传递参数,选择加载Server版的jvm.dll还是Client版的jvm.dll,然后加载jvm.dll,把控制权交给jvm.dll。
接下来,jvm.dll进行初始化,分配内存等等动作,然后在CLASSPATH路径中寻找class,找到class以后,寻找class中的程序入口点Main函数,然后从Main函数执行程序,在执行过程中,使用ClassLoader动态加载一系列引用到的类。当调用到native方法时,jvm.dll告诉OS在JRE\bin目录下寻找某某DLL文件,调入内存,于是实现了JNI调用。
以下以三个例子,说明如何打包JRE和第三方类库,根据需求综合来使用就可以了:
一、
1.首先将程序打包(这一步可以通过eclipse的导出完成)。
2.为项目添加第三方jar包。在第1步打好的jar包的同级目录下,新建一个lib(名字可以自取)文件夹。用winrar等解压文件打开第1步做好的jar包,到META-INF目录下,打开MANIFEST.MF文件,修改它:在Main-Class上面一行加上:Class-Path:lib/1.jar lib/2.jar其中lib是刚才我们建的文件夹名,1.jar和2.jar是我们需要的第三方包,每两个第三方包之间由空格分开。
3.在第1步打好的jar包的同级目录下,新建一个jre文件夹,把jre运行环境考贝到这里面来。
4.在第1步打好的jar包的同级目录下,新建一个文本文档,加上下面的语句:start jre/bin/javaw -jar HydraKyouFeng_v0.2s_swt.jar
这表示通过同级目录里面jre文件夹下的javaw -jar来运行我们的jar包(也就是第1步打好的jar包,我这里的名字是HydraKyouFeng_v0.2s_swt)。
5.到了这一步,我们双击jar包已经能在原本没有jre环境平台里面直接运行了。
二、
运行实现希望目的目录结构(以test目录为例):
test 存项目java文件生成的.class,.jar 等文件.
test/jre/bin 复制对就jdk中的 bin目录就可以。
test/jre/lib 复制对就jdk中的 jre/lib 目录就可以。
建立以上目录结果之后就可以将test/jre/bin/java.exe 发送到桌面快捷方式。
然后修改一下那快捷快方式 目标(T)标位 改成 ...../test/jre/bin/java.exe test ,
这里要注意的是 起始位置(S) 一起在改一下!如下:...../test/ 。
随后使用javaw.exe启动。

三、
1、先创建一个manifest.mf的文件,内容为
Main-Class: ExcelCount(class类路径,我的为与manifest.mf相同路径)换行
2、将程序中要导入的jar包解压,放到相同目录中,我的为org文件夹
3、运行cmd,输入如下
jar cvfm ExcelCount.jar manifest.mf ExcelCount.class ExcelCount$1.class OpenListener.class org
其中ExcelCount.jar为将要生成的jar文件,三个.class文件是要打包的文件,org即为引入jar包所在文件即可生成可执行jar包
4、运行jar文件
jar文件可以在安装jdk的机器上直接运行,启动cmd命令,输入java -jar jar文件路径,也可以运行与没有安装jdk的机器上,不过要将jdk安装后目录下的jre文件,我的为D:\java\jdk1.6.0_3\jre,全部复制到jar文件所在目录下,再新建一个名为run.bat的文件,run.bat文件的内容为
start jre\bin\javaw -jar jar文件名
我的此文件内容为
start jre\bin\javaw -jar ExcelCount.jar
以后再没有安装jdk的机器上只要运行run.bat文件就可以了2015-09-03
mengvlog 阅读 9 次 更新于 2025-07-20 20:45:23 我来答关注问题0
  •  翡希信息咨询 如何将一个java程序生成exe文件

    方法一:使用专业的应用程序打包工具InstallAnywhere 工具介绍:InstallAnywhere是一款功能强大的打包工具,支持多种平台,包括Windows。它能够生成各个平台的安装程序,当然也包括.exe文件。不过,该软件是收费的,但如果是非商业用途,可以尝试在网上搜索注册码。操作步骤:由于InstallAnywhere的操作相对复杂,且具体...

  • 在Eclipse中开发完Java项目并确保其无误且可正常运行后,首先需要将项目打包成.jar文件。具体操作步骤如下:右键点击项目,选择“导出”,在弹出的对话框中选择“java”,然后选择“jar文件”。在弹出的窗口中,选择要导出的文件和目录,点击“完成”。请记住你选择的输出路径,因为接下来需要用到这个路径。

  •  深空游戏 用eclipse如何将java程序生成一个.exe可运行文件

    Java程序打包成.exe可执行文件通常分为两个步骤。第一步是将Java程序通过Eclipse或Myeclipse打包成jar文件。具体操作是首先打开Eclipse或Myeclipse,然后选择你的Java项目,接着右键点击项目名,选择“Export”,在弹出的窗口中选择“Java”下的“JAR file”,然后按照提示操作,即可生成一个.jar文件。第二步...

  • 其中ExcelCount.jar为将要生成的jar文件,三个.class文件是要打包的文件,org即为引入jar包所在文件即可生成可执行jar包 4、运行jar文件 jar文件可以在安装jdk的机器上直接运行,启动cmd命令,输入java -jar jar文件路径,也可以运行与没有安装jdk的机器上,不过要将jdk安装后目录下的jre文件,我的为D:...

  •  誉祥祥知识 怎么将java程序打包成exe

    第一步:将Java项目打包成可执行JAR文件。首先检查Java项目结构,确定主入口类Main.java,含有main方法,配置文件位于config目录,第三方库位于lib目录。开始打包过程:在Simulate项目上右键选择“导出”,弹出窗口选择“JAR文件”,取消选择config、lib目录及生成的项目配置文件.classpath和.project,点击“下一...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部