您现在的位置是:首页 > 文章详情

宇连通 IM 之 Graalvm 打包

日期:2025-04-24点击:3

宇连通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以内。

原文链接:https://www.oschina.net/news/346439
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章