
用阿里云百炼模型服务和函数计算实现 Bolt.diy 的快速云端部署

对宇连通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以内。
还没有评论,来说两句吧...