下面是具体步骤:
需要的工具,用了exe4j这个软件
exe4j是一个帮助你集成Java应用程序到Windows *** 作环境的java可执行文件生成工具
无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序
exe4j帮助你以一种安全的方式启动你的 java应用程序来显示本地启动画面
检测及发布合适的JRE和JDK以及进行启动时所发生的错误处理等
1、先把自己的程序发布成jar文件
这是eclipse自带的功能,右键工程包-->Export
然后选择Java-->JAR file,点击next
2、选择输出路径,next
3、取消勾选Export class files with compile errors
因为一般warnings可以忽视,而errors不行,点击next
4、选择main class,即带有main方法的类,finish即可
5、将jar文件转为exe文件
之前生成的jar文件,以下是创建的目录结构6、这里如果第一次用不需要管,点击next
如果你使用完保存过输出配置,可以选open configuration
7、进入Project type,选择“JRA IN EXE” mode,点击next
出现Application info
上面的框填写程序名字,下面的框选择输出路径
8、Configure executable
GUI application-->勾选allow,下面框填写文件名字,icon file可以自己选择图标文件
如果限制只能同时打开一个程序,勾选allow only a single,其他基本默认
如果你的exe4j和jdk位数不一致,记得把advanced options里的32bit or 64bit勾选
否则生成不报错exe也无法正确运行
9、Java invocation,点Class path框右边的绿色加号
把自己生成的jar文件路径写进Archive(用到的外部jar包也要都添加进去)
然后下面main class from框选择含有main方法的类
10、Minimum和Maximum填写允许的最小和最大jdk版本号
Configure search sequence选项,框里应该只保留Search Windows registry
没有的话右边绿色箭头添加,其他的删除后,绿色箭头添加Directory
11、找到我们开始的时候拷到文件夹里的jre,点击finish
12、然后桌面出现生成的exe文件
创建可执行的 JAR 文件包制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。
Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运
行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下
去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。
因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。
其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下
安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个
可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由
hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。
创建可执行的 JAR 文件包,需要使用带 cvfm 参数的 jar 命令,同样以上述 test 目录为例,命令如下:
jar cvfm test.jar manifest.mf test
这里 test.jar 和 manifest.mf 两个文件,分别是对应的参数 f 和 m,其重头戏在 manifest.mf。因为要创建可
执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的
JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了
Main-Class 一项。这在 MANIFEST 中书写格式如下:
Main-Class: 可执行主类全名(包含包名)
例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类
(定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:
Main-Class: test.Test <回车>
这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且该
行以一个回车符结束即可。创建了 manifest.mf 文件之后,我们的目录结构变为:
==
|-- test
| `-- Test.class
`-- manifest.mf
这时候,需要到 test 目录的上级目录中去使用 jar 命令来创建 JAR 文件包。也就是在目录树中使用“==”表
示的那个目录中,使用如下命令:
jar cvfm test.jar manifest.mf test
之后在“==”目录中创建了 test.jar,这个 test.jar 就是执行的 JAR 文件包。运行时只需要使用
java -jar test.jar 命令即可。
需要注意的是,创建的 JAR 文件包中需要包含完整的、与 Java 程序的包结构对应的目录结构,就像上例一样。
而 Main-Class 指定的类,也必须是完整的、包含包路径的类名,如上例的 test.Test;而且在没有打成 JAR 文件包
之前可以使用 java <类名>来运行这个类,即在上例中 java test.Test 是可以正确运行的 (当然要在 CLASSPATH
正确的情况下)。
(忘记从哪儿下的了!!可能不太全!!)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)