人肉精简Java方法for MC

​(备份,无参考价值)

以下为人肉精简方法:

整个过程不算难,也适用打包进java软件,不过需要一点耐心

原理是用 jlink 命令导出精简的jre,下面是最基础的一些java模块(详见此贴

 
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 对于一个游戏来说这几个模块肯定是不够用的,因此需要根据启动的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文件夹

f61cb22fca194d0b81887d01480d7671.png

随便找个Main双击打开,输入 import <类名> ,将鼠标悬停在第2节(如management),找到与类最后一节吻合的名称,右键跳转到所在位置,即可查看类所在的模块名

2b1190ce47184f1fb6c9f1f6a51df345.png

5b70cc08261a486d8bbb3bc6d4e21098.png

如图,带有library boot字样的就是模块名(java.management),把它加在jlink命令的最后面并运行有报错要把先前的minijar文件夹删掉

 448560ee62434e8b80df10534b20b1dd.png

导出的minijar文件夹就是精简出的jre

加入一个模块后再启动会继续报错,需要重复上述步骤把所有需要的模块都加进去

最后把就能得到一个专属的小巧jre了

 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值