登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
启用 Java AOT 编译打包 Solon 项目(Solon AOT) ...
启用 Java AOT 编译打包 Solon 项目(Solon AOT)
[ 复制链接 ]
髡芯
2025-6-5 10:46:22
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
1、Java 的 AOT(Ahead-Of-Time)
AOT(Ahead-Of-Time)编译是与 JIT(Just-In-Time)相对的一种编译方式。
在 AOT 模式下,Java 字节码(Bytecode)在程序运行之前,就被提前编译为目标平台的本地机器代码。
2、Solon AOT
Solon AOT 是 Java AOT 的增强模式。可借助容器在运行时收集相关的类信息,然后在打包时为有 “动态代理需求的类” 生成对应具体类(类名风格,Xxx$$SolonAotProxy.class)。
使用条件要求:
使用 solon-maven-plugin 打包方式
要求 java 17+ (java 17 后才支持 AOT)
大概的构建过程(过程为自动):
编译(生成 .class 文件) -> Solon AOT(运行->收集->生成补充的 .class 文件) -> 打包
复制代码
3、使用 solon-parent
<parent>
<groupId>org.noear</groupId>
solon-parent</artifactId>
<version>最新版本</version>
</parent>
复制代码
以 maven 打包为例,启用配置文件 native(会自动启用一批配置),然后使用 maven 的 pakage 命令即可。
补充说明:
使用 maven:pakage 打包,会使用 AOT 编译,生成常规的 jar 包
使用 graalvm:native:build 打包,会使用 AOT 编译,且生成 graalvm image (具体参考专题资料)
4、如果没有使用 solon-parent
以 maven 打包为例,在 pom.xml 手动添加一个 native profile(名字便取,叫 AOT 也挺好的)。之后,参考上面的说明。
<profiles>
<profile>
<id>native</id>
<build>
<plugins>
<plugin>
<groupId>org.noear</groupId>
solon-maven-plugin</artifactId>
<version>${solon.version}</version>
<executions>
<execution>
<id>process-aot</id>
<goals>
<goal>process-aot</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.noear</groupId>
solon-aot</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
复制代码
配置内容说明:
org.noear:solon-aot 依赖包,封装了 aot 的关键工作:收集类信息,生成补充类
solon-maven-plugin:process-aot 则是关联编译行为,在编译后,再进行 Solon AOT 二次编译
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
AOT
Solon
启用
Java
编译
相关帖子
Keepalived详解:原理、编译安装与高可用集群配置
Solon AI 开发学习19 - 结合 Solon Flow 实现 ReAct 效果
在java中实现c#的int.TryParse方法
Linux Mint下使用vscode编译C++代码
Java+Playwright自动化测试-26- 操作Select下拉选择框
【Java】ThreadLocal源码解析
Java关键字解析之abstract:抽象的本质、规范定义与多态基石
[数据结构/Java] 数据结构之循环队列
Java关键字解析之volatile:可见性的守护者、有序性的调节器
关于linux编译c语言文件的一些错误问题
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Keepalived详解:原理、编译安装与高可用集群配置
0
66
决任愧
2025-12-09
业界
Solon AI 开发学习19 - 结合 Solon Flow 实现 ReAct 效果
1
821
柴古香
2025-12-09
安全
在java中实现c#的int.TryParse方法
0
819
歇凛尾
2025-12-09
安全
Linux Mint下使用vscode编译C++代码
1
732
聊账
2025-12-10
业界
Java+Playwright自动化测试-26- 操作Select下拉选择框
1
282
任俊慧
2025-12-12
业界
【Java】ThreadLocal源码解析
0
132
祉遛吾
2025-12-13
业界
Java关键字解析之abstract:抽象的本质、规范定义与多态基石
0
31
斜素欣
2025-12-13
安全
[数据结构/Java] 数据结构之循环队列
0
484
豺独
2025-12-14
业界
Java关键字解析之volatile:可见性的守护者、有序性的调节器
0
74
阎一禾
2025-12-14
安全
关于linux编译c语言文件的一些错误问题
0
947
诈知
2025-12-15
回复
(5)
左丘纨
2025-10-25 07:06:22
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
呼延冰枫
2025-11-23 06:01:36
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享
决台
2025-12-4 02:47:13
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
拼潦
前天 15:29
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
表弊捞
昨天 17:01
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
代码
签约作者
程序园优秀签约作者
发帖
髡芯
昨天 17:01
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
860
OpenAI Code Interpreter ("Coworker") 架
665
XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel
686
16.结构型 - 享元模式 (Flyweight Pattern)
360
复健笔记 - Pascal酒吧的爆破
606
[Linux] 手写轻量C++函数性能探查器:CPU占
946
关于linux编译c语言文件的一些错误问题
524
推荐一种并发线程中资源同步常用方法
822
【节点】[Adjustment-ReplaceColor节点]原
665
Linux DMA开发指南(一)
208
数字电路模拟程序&课堂测验Blog
564
ROS2核心概念之动作
682
[dx12显示图片] ImGui Learn Data Day 3
618
一张图看懂AI Agent的6种模式—MAS
931
.NET 10 网络堆栈深度架构解析:HTTP/3、性
926
【有手就行】LoRA:用你自己的数据来微调大
910
sqlilab —— 32关卡
425
.NET周刊【11月第3期 2025-11-16】
914
软件逆向加密视频专用播放器是如何检测到用
362
爬虫专栏:破解网站检测selenium反爬——“
837
开源项目分享:Gitee热榜项目 2025年12月第