Java程序运行,我自己写的Java程序,想在没有虚连接的电脑上运行。怎么才能实现?

1.将jre文件夹的完整版本复制到驱动器d。

2.删除jre目录中bin和lib目录下的所有文件或目录。

3.打开cmd窗口,将path path设置为空,转到D:\jre\bin目录,运行java -version。正常显示Java的当前版本。

4.在bin目录下创建一个新的temp目录,将除java.exe和java.dll之外的所有目录移动到temp目录下。

5.再次运行java -version命令,表明没有找到verify.dll。将临时目录中的verify.dll移到bin目录中。

6.再次运行java -version命令,提示:无法创建java虚拟机。错误。

7.根据测试:hpi.dll和zip.dll也应该放在bin目录中。

8.再次运行java -version命令,OK,版本信息再次出现。此时,您可以将temp目录移出bin目录。(先放在桌面上)

9.删除客户端目录中除jvm.dll以外的文件。转到jre目录,查看bin目录的大小,2.89MB,但此时lib目录还有60M多。

10.转到lib目录,创建一个新的temp目录,将除i386以外的所有目录移动到temp目录,再次运行java -version命令,OK。

11.创建一个新的temp2目录,将charsets.jar和rt.jar之外的所有文件移动到temp2目录,再次运行Java -version命令,OK。

12.将temp2和temp目录移动到桌面。这个时候lib还是48.7M接近50M。(还是要努力)

13.还原charsets.jar和rt.jar(可以使用7z工具查看和修改jar文件“直接添加和删除”的内容)。准备做个软件来实现。

14.还原原理。运行Java-verbose:class-version >;Temp.java命令,此时在bin目录下生成了一个temp.java文件,用EditPlus打开,看,你要加载的就是那些类,把不必要的都删除就行了。

15.结果是charsets.jar没有被加载。直接删除,再次运行java -version命令,OK。

16.接下来的工作就是切割rt.jar慢慢来。也可以做个软件来完成。您可以下载一个GreenJVMMake.jar来完成这项工作。但是有时候好像有些类没有加载。是时候考虑更新了。

17.剪切播放rt.jar后,再次运行java -version,出现版本信息。好

18.去D盘查一下简化的jre,只有4.47MB .不到5米。好

19.最小的jre完成了。