mc

# mc

mc-retransform在线教程 (opens new window)

# 使用参考

Memory Compiler/内存编译器,编译.java文件生成.class

mc /tmp/Test.java
1

可以通过-c参数指定 classloader:

mc -c 327a647b /tmp/Test.java
1

也可以通过--classLoaderClass参数指定 ClassLoader:

$ mc --classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader /tmp/UserController.java -d /tmp
Memory compiler output:
/tmp/com/example/demo/arthas/user/UserController.class
Affect(row-cnt:1) cost in 346 ms
1
2
3
4

可以通过-d命令指定输出目录:

mc -d /tmp/output /tmp/ClassA.java /tmp/ClassB.java
1

编译生成.class文件之后,可以结合retransform命令实现热更新代码。

注意,mc 命令有可能失败。如果编译失败可以在本地编译好.class文件,再上传到服务器。具体参考retransform命令说明。