# liquor
**Repository Path**: source/liquor
## Basic Information
- **Project Name**: liquor
- **Description**: noear:: Java 动态编译小工具
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 66
- **Created**: 2022-08-06
- **Last Updated**: 2022-08-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](https://mvnrepository.com/search?q=g:org.noear%20AND%20liquor)
[](https://license.coscl.org.cn/Apache2/)
[](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)
[](https://jq.qq.com/?_wv=1027&k=kjB5JNiC)
# Liquor for java
Java 动态编译小工具。(此工具可兼容 jar in jar 的情况)
本工具的代码主要源自 arthas。相关的知识点比较冷门,甚是珍贵,但也只能用在合适的场景上(切不可滥用)。为了复用方便,特整理成一个小工具包进行长期维护。
### 演示
```xml
org.noear
liquor
1.0.2
```
```java
public class DemoApp {
public static void main(String[] args) {
String className = "com.demo.proxy.MyClass";
String classCode = "package com.demo.proxy;\n" +
"\n" +
"public class MyClass {\n" +
"\n" +
" public String say(String str){\n" +
" return \"hello\"+str;\n" +
" }\n" +
"}";
DynamicCompiler compiler = new DynamicCompiler();
compiler.addSource(className, classCode);
Map> classMap = compiler.build();
System.out.println(classMap.get(className));
}
}
```