From 2f7cd188957a6244189ccaf814bee2809dfd0f2d Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 29 Nov 2020 15:56:07 +0800 Subject: [PATCH] fix code --- .../hutool/core/compiler/JavaSourceCompiler.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java index 076f7fc60..2f9275cdc 100644 --- a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java +++ b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java @@ -1,6 +1,7 @@ package cn.hutool.core.compiler; import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharsetUtil; @@ -159,13 +160,16 @@ public class JavaSourceCompiler { final DiagnosticCollector diagnosticCollector = new DiagnosticCollector<>(); final List javaFileObjectList = getJavaFileObject(); final CompilationTask task = CompilerUtil.getTask(javaFileManager, diagnosticCollector, options, javaFileObjectList); - if (task.call()) { - // 加载编译后的类 - return javaFileManager.getClassLoader(StandardLocation.CLASS_OUTPUT); - } else { - // 编译失败,收集错误信息 - throw new CompilerException(DiagnosticUtil.getMessages(diagnosticCollector)); + try{ + if (task.call()) { + // 加载编译后的类 + return javaFileManager.getClassLoader(StandardLocation.CLASS_OUTPUT); + } + } finally { + IoUtil.close(javaFileManager); } + //编译失败,收集错误信息 + throw new CompilerException(DiagnosticUtil.getMessages(diagnosticCollector)); } /**