# jfx-pack **Repository Path**: jijunpeng/jfx-pack ## Basic Information - **Project Name**: jfx-pack - **Description**: 基于JDK18的一个打包示例工程 通过自定义jre,减少最后成品体积。并且支持打包非模块化的jar - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-08-28 - **Last Updated**: 2022-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 打包方式 mac 运行 `pack-unmodule.sh` windows 运行`pack-unmodule.bat` ## 支持 1. 基于JDK18,其他版本没有进行测试 2. 理论上不管项目中jar是不是模块化,都可以正常打包,如果有问题,就删除项目中的module-info.java试试 3. 用好脚本的话,可以将模块化jar都打包进jre中。 4. 非模块化jar会原封不动的复制到程序中 ## 打包说明 1. windows在脚本中默认打绿色包。 2. exe安装包的打包方式会被360报毒,所以先禁掉了,想用的自己解开最后一行注释就行了 3. 在windows中运行jlink插件包或者使用exec-maven-plugin运行jlink都遇到了问题,只好改用脚本运行jlink ## 打包流程 1. mvn clean package 2. 修改项目jar的名称和位置。 在package的过程中通过插件做了两件事 1. 通过maven-jar-plugin 改变了生成jar的位置和名称,生成目标 target/lib/jfx-pack.jar 2. 通过maven-dependency-plugin插件将依赖的jar复制到target/lib目录下 3. jlink 编译自定义的jre,有效减少最后包的体积 4. jpackage打包。 使用exec-maven-plugin插件调用jpackage进行打包。之所以用maven插件打包,是为了方便服用pom中的名称、版本等信息