天天看点

java9导出运行springboot的精简版jre

为了分发一个springboot项目,在不考虑目标机器是否有jre的情况下,携带一个jre环境是一个选择。本文就尝试从原生的jdk 9.0.1 精简一个jre供分发。

实际情况可能略有不同,比如目标机器不同,jre是否兼容,未测试。

使用基本的eureka-server项目测试可运行。其他项目可能根据依赖的基础模块进行相应调整。

以下是最基本的命令。

当然,只有java.base 是不行的。可以测试运行,会看到很多ClassNotFound,可以找一下这些类在哪个模块里,增加对应的模块。

当遇到测试执行时提示找不到某个类时,如:java.beans.PropertyEditor,可执行如下命令进行查找。

就可以知道,该类在java.desktop.jmod 中。那么相应调整命令行:

以此类推。

默认的jre的大小:

精简的jre的大小: