宇连通 IM 之 Graalvm 打包
对宇连通IM之PC客户端系统进行GraalVm进行打包。
1,安装Visual studio2022版,安装C++桌面开发组件,如下图:
2,安装graalvm-jdk-21.0.7+8.1,并配置GRAAL_HOME和JAVA_HOME的值。
3,对项目增加打包配置,使用gluonfx打包插件,配置如下:
<plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <configuration> <options> <option>--add-opens</option> <option>java.base/java.lang.reflect=com.jfoenix</option> <option>--add-opens</option> <option>javafx.graphics/javafx.scene=org.controlsfx.controls</option> <option>-Dfile.encoding=UTF-8</option> </options> </configuration> </executions> </plugin>
<plugin> <groupId>com.gluonhq</groupId> <artifactId>gluonfx-maven-plugin</artifactId> <version>1.0.27-SNAPSHOT</version> <configuration> <target>host</target> <mainClass>${mainClassName}</mainClass> <releaseConfiguration> <skipSigning>true</skipSigning> <description>appDescription</description> <vendor>vendor</vendor> </releaseConfiguration> <resourcesList> <list>.*\\.properties$</list> </resourcesList> <bundlesList> <list>web</list> <list>media</list> </bundlesList> <runtimeArgs> <arg>-Dfile.encoding=UTF-8</arg> </runtimeArgs> <nativeImageArgs> <arg>-H:+AddAllCharsets</arg> <arg>-H:IncludeResources=".*$"</arg> <arg>-H:IncludeResources="ldh/im/fxbase/.*$"</arg> <arg>--allow-incomplete-classpath</arg> <arg>--no-fallback</arg> <arg>-H:+ReportUnsupportedElementsAtRuntime</arg> <arg>-H:ClassInitialization=org.slf4j:build_time</arg> <arg>--initialize-at-run-time=java.beans</arg> <arg>--initialize-at-build-time=java.beans.Introspector$1</arg> <arg>--initialize-at-build-time=javafx.beans</arg> <arg>--initialize-at-build-time=com.sun.beans</arg> <arg>--initialize-at-build-time=org.slf4j</arg> <arg> --initialize-at-build-time=java.beans.Introspector</arg> <arg> --initialize-at-build-time=org.slf4j.simple.SimpleLogger</arg> <arg> --initialize-at-build-time=com.sun.beans.introspect.ClassInfo</arg> <arg> --initialize-at-build-time=com.sun.beans.introspect.MethodInfo</arg> <arg> --initialize-at-build-time=com.sun.beans.TypeResolver</arg> <arg> --initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger</arg> <arg> --initialize-at-run-time=ldh.im.fxgui.service.MessageReadService</arg> <arg>--initialize-at-build-time=ldh.im.dto.enums.MessageType</arg> <arg> --initialize-at-build-time=ldh.im.fxgui</arg> <arg>--add-exports=org.graalvm.nativeimage.builder/com.oracle.svm.core.jdk=ALL-UNNAMED</arg> <arg>-H:-CheckToolchain</arg> </nativeImageArgs> <linkerArgs> <arg>management_ext.lib</arg> <arg>psapi.lib</arg> </linkerArgs> </configuration> </plugin>
4,打包命令
mvn gluonfx:run 此命令运行项目
mvn gluonfx:runagent 生成native-image需要配置文件: 反射,资源,JNI,代理等配置文件
mvn gluonfx:build 进行打包,生成exe文件
mvn gluonfx:nativerun 运行exe,能够输出日志
按照上面的步骤操作,就能够顺利打包成功。
运行生成的exe,项目启动速度明显提高了,内存占用有大幅度降低,IM系统运行的内存占用通常会控制在300M以内。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Electron 35.2.1 发布,跨平台桌面应用开发工具
Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。 Electron v35.2.1 更新内容如下: Fixes 修复了最小化菜单按钮在 Windows 上跟随设置的窗口最小化功能的问题。#46715 修复了utilityProcess.postMessage在调用 invalid transferable 时可能出现的崩溃问题。#46666 修复了如果包含*过滤器,文件对话框过滤器会混淆的情况。#46721 修复了 macOS 上使用 google IME 和 editcontext 重新转换时崩溃的问题。#46700 Microtasks 不再(错误地)通过序列化值来运行,包括发送 IPC 时。#46684 更新说明:https://github.com/electron/electron/releases/tag/v35.2.1
- 下一篇
调问更新 4.18~4.25:OpenAPI+抽奖+交叉统计+成绩单+5 项功能优化+6 个 Bug 修复
调问自开源以来一直坚持前后端所有代码 100% 开源💯,保证所有功能的稳定与可改造能力👏。 🔥 安装下载地址(安装包):https://www.diaowen.net/install/docker 🔥 源码下载地址: https://gitee.com/wkeyuan/DWSurvey 本周新增的重点功能有3个,第一个是进一步开放了OpenAPI接口,现在已经在单点登录的能力基础上,可以支持问卷管理、用户管理、问卷填写等绝大多数场景下的API能力,已经有一些用户开始逐步测试通过API与现有系统集成的能力,欢迎大家来尝试,可以直接联系客服进一步了解接入方法。 另外,很多小伙伴提过的抽奖能力也发布上线了,可以在答卷结束时,设置相应奖品,进行抽奖设置,这在很多激励性的问卷调查中,是个非常实用的功能,大家快来用起来~ 统计能力进一步升级,在问卷数据统计中,增加了过滤查询能力,可以针对问卷中的某一个题目情况对统计进行过滤,实测非常实用。另外还支持了交叉统计,多个维度进行交叉统计计算,现在问卷统计能力已经可以支持很多高级在线统计的场景了。 最后一个重点功能更新,考试场景下,增加了成绩单功能...
相关文章
文章评论
共有0条评论来说两句吧...