From b41df4a5bd1babfa9f8c568b97b2a30a1e4abd08 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Tue, 6 Aug 2019 16:45:51 +0800 Subject: [PATCH] check if JavaCompiler is avaliable. #799 --- .../java/com/taobao/arthas/compiler/DynamicCompiler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompiler.java b/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompiler.java index 61c9b012b..586100695 100644 --- a/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompiler.java +++ b/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompiler.java @@ -25,6 +25,11 @@ public class DynamicCompiler { private final List> warnings = new ArrayList>(); public DynamicCompiler(ClassLoader classLoader) { + if (javaCompiler == null) { + throw new IllegalStateException( + "Can not load JavaCompiler from javax.tools.ToolProvider#getSystemJavaCompiler()," + + " please confirm the application running in JDK not JRE."); + } standardFileManager = javaCompiler.getStandardFileManager(null, null, null); options.add("-Xlint:unchecked");