网站首页 > 精选教程 正文
Liquor 是一个开源的轻量级 Java 动态编译器(零依赖,40KB),它可以在运行时编译 Java 字符串代码片段、类、方法等。
- 源码地址:https://gitee.com/noear/liquor
基础编译特性:
- 可以单个类编译
- 可以多个类同时编译
- 可以增量编译
增值功能:
- java 表达式引擎
- java 脚本引擎(支持 java8 到 java23 语法)
本次更新
- 添加 DynamicCompiler:addClassPath 方法
- 添加 DynamicCompiler:getStandardFileManager 方法
新特性示例:
// A.java
public class A { private B b = new B(); }
// B.java
public class B {}
// Demo.java
public class Demo {
@Test
public void test() throws Exception {
final DynamicCompiler dynamicCompiler = new DynamicCompiler();
dynamicCompiler.addClassPath(new File(".../test/")); //这是重点
dynamicCompiler.addSource(new JavaFileSource(new File(".../test/A.java")));
dynamicCompiler.build();
final Class<?> clazz = dynamicCompiler.getClassLoader().loadClass("test.A");
System.out.printf("clazz: %s\n", clazz);
}
private static class JavaFileSource extends SimpleJavaFileObject {
public JavaFileSource(File codeSourceFile) {
super(codeSourceFile.toURI(), Kind.SOURCE);
}
@Override
public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
return new String(Files.readAllBytes(Paths.get(this.uri)), StandardCharsets.UTF_8);
}
}
}
猜你喜欢
- 2025-05-08 Java程序员要不要学习Lua?(java程序员对学历要求高吗)
- 2025-05-08 在安卓设备上运行Python的方法(安卓系统运行python)
- 2025-05-08 Unity3D手游开发实践《腾讯桌球》客户端开发经验总结
- 2025-05-08 达内java培训专家:大牛程序员眼里万能的java
- 2025-05-08 Janino 不思进取了?Java 动态编译 的新神器 Liquor v1.3.10 发布
- 2025-05-08 Java多语言混合编程的魅力之旅(java多语言支持)
- 2025-05-08 Liquor v1.4.0 发布,动态编译即服务!(Java 动态编译神器)
- 2025-05-08 Java 开发工具合集:从入门到高手必备
- 2025-05-08 重拾JAVA:这种编程语言为什么不行了?
- 2025-05-08 上手AutoHotKey(简称ahk)并编写一个简单的脚本程序
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)