(备份,无参考价值)
以下为人肉精简方法:
整个过程不算难,也适用打包进java软件,不过需要一点耐心
原理是用 jlink 命令导出精简的jre,下面是最基础的一些java模块(详见此贴)
对于一个游戏来说这几个模块肯定是不够用的,因此需要根据启动的crash reports分析缺少的模块
比如这句主干错误信息: Caused by:Exception in thread "main" java.lang.module.FindException: Module java.compilernot found, required by org.spongepowered.mixin
在cause by 后面的在notfound前的模块名,如java.compiler,把这个缺少的模块名加在jlink命令最后面就行了
但是有一些显示缺少的是3节的类名(如javax.management.MBeanRegistrationException),则需要用idea查找其所在的模块
先新建一个project,导入java文件夹
随便找个Main双击打开,输入 import <类名> ,将鼠标悬停在第2节(如management),找到与类最后一节吻合的名称,右键跳转到所在位置,即可查看类所在的模块名
如图,带有library boot字样的就是模块名(java.management),把它加在jlink命令的最后面并运行有报错要把先前的minijar文件夹删掉
导出的minijar文件夹就是精简出的jre
加入一个模块后再启动会继续报错,需要重复上述步骤把所有需要的模块都加进去
最后把就能得到一个专属的小巧jre了