????udp???javaFx??

vothin bd5049b691 重新打包 8 months ago
.idea 0668440d38 first commit 8 months ago
.mvn 0668440d38 first commit 8 months ago
META-INF 0668440d38 first commit 8 months ago
icon 0668440d38 first commit 8 months ago
lib 0668440d38 first commit 8 months ago
out bd5049b691 重新打包 8 months ago
src 272cf5b84e 修复消息报错的问题 8 months ago
.gitignore 0668440d38 first commit 8 months ago
README.md 272cf5b84e 修复消息报错的问题 8 months ago
mvnw 0668440d38 first commit 8 months ago
mvnw.cmd 0668440d38 first commit 8 months ago
pom.xml 272cf5b84e 修复消息报错的问题 8 months ago

README.md

先执行maven的jlink打包

  • jlink会根据maven的配置,在target文件夹生成jre环境包,也就是jlink文件夹里的东西
  • 在jlink的bin目录里有个可以直接执行的bat文件,执行成功,即打包成功

mvn javafx:jlink

模块化

  • jlink所有包都需要进行模块化,最好使用支持模块化的包,不然就需要自己进行模块化打包
  • 先生成module-info.java

jdeps --ignore-missing-deps --generate-module-info . netty-all-5.0.0.Alpha2.jar

  • 将原本的包反编译出来,然后将module-info.java放进反编译的文件夹里,通过javac生成module-info.class

javac -d . module-info.java

  • 再将module-info.class放到模块的文件夹里,再编译进模块里

jar uf netty-all-5.0.0.Alpha2.jar -C . module-info.class

  • 这样模块里就会多一个module-info.class文件,最好将模块备份一下

再执行jpackage的打包

  • jpackage会根据jlink的环境包再次打包成exe文件
  • --type/-t:要创建的包的类型,有效值为 "app-image"、"exe"、"msi"、"rpm"、"deb"、"pkg"、"dmg"
  • --app-version:应用程序的版本
  • --copyright:应用程序的版权信息
  • --description:应用程序的描述
  • --icon:应用程序包图标的路径,只支持ico文件
  • --name/-n:应用程序和/或程序包的名称
  • --dest/-d:输出文件的目的地路径
  • --temp:用于创建临时文件的目录路径
  • --vendor:应用程序的供应商
  • --add-modules:要添加的模块列表,可以多次使用,使用jlink环境包不需要这个
  • --module-path/-p:模块路径,可以多次使用,使用jlink环境包不需要这个
  • --runtime-image:预定义的运行时映像路径,指向jlink环境包 非常重要
  • --input/-i:包含要打包文件的输入目录路径,使用jlink环境包不需要这个
  • --main-class :要执行的应用程序主类的全名,需要跟maven配置和module-info里的配置一致 非常重要
  • --main-jar:包含主类的 JAR 文件的路径,使用jlink环境包不需要这个
  • --module/-m:应用程序的主模块和主类,使用jlink环境包不需要这个
  • --win-console:为需要控制台交互的应用程序创建控制台启动器
  • --win-dir-chooser:安装时添加选择安装路径的选项
  • --win-menu:在开始菜单中添加应用程序
  • --win-shortcut:在桌面创建快捷方式
  • jpackage -t exe -n udp_server -m "udpserver/com.wdkl.udpserver.UdpServerApplication" --runtime-image target/jlink -d .\out --icon .\icon\udp.ico --app-version 1.2 --win-shortcut --win-menu --win-console