jpackage命令使用场景
使用场景是面向java桌面端程序打包. 可以让windows/mac 直接双击使用java程序,对系统里面有没有jdk/jre不做要求....,需要哪些依赖,相当于在maven引包的基础上,要再声明一遍依赖
opens: 当前模块中的哪些包,可以被反射....如fxml中要声明处理的controller , 每当fxml加载的时候,都会去新建一个controller实例, 所以需要opens controller的包名给javafx.fxml
exports...一般用于别的模块依赖当前模块的时候
jdk9及以后的打包方式
在jdk9及以后,打包方式,可以不局限于打jar包,可以把jdk的这些模块给一起用jlink打成一个镜像....项目所用到的判断系统工具类,读取/更改host工具类等开源地址如下:
https://github.com/xiaodaojava/sunshine
里面还有很多很多常用的工具类.