diff --git a/cloud-rule-engine/src/main/java/com/muyu/compile/OSSFileCompile.java b/cloud-rule-engine/src/main/java/com/muyu/compile/OSSFileCompile.java index 4ace4ed..b08f624 100644 --- a/cloud-rule-engine/src/main/java/com/muyu/compile/OSSFileCompile.java +++ b/cloud-rule-engine/src/main/java/com/muyu/compile/OSSFileCompile.java @@ -24,10 +24,13 @@ public class OSSFileCompile{ public static Result compile(String source){ JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null); // 执行编译任务 - int result = compiler.run(null, null, null, source); + Iterable compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList("/home/"+source)); + Boolean result = compiler.getTask(null, fileManager, null, Arrays.asList("-cp", "/home/lib"), null, compilationUnits).call(); +// int result = compiler.run(null, null, null, source); // 检查编译结果 - if (result == 0) { + if (result) { System.out.println("编译成功,生成的.class文件位于源代码同目录"); return Result.success("编译成功,生成的.class文件位于源代码同目录"); } else {