From e268e51a52797413a27fac8c3ab3d9e0e716b4a7 Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Wed, 1 Jul 2026 12:05:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=84=9A=E6=9C=AC=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E5=89=8D=E7=9B=B4=E6=8E=A5=E6=8F=92=E5=85=A5=20import=20?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=EF=BC=8C=E6=A0=B9=E6=B2=BB=20PluginContext?= =?UTF-8?q?=20=E6=89=BE=E4=B8=8D=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../par/core/adapter/GroovyScriptEngine.java | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java b/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java index 36353be..6bcc318 100644 --- a/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java +++ b/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java @@ -5,8 +5,6 @@ import groovy.lang.Binding; import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyShell; import lombok.extern.slf4j.Slf4j; -import org.codehaus.groovy.control.CompilerConfiguration; -import org.codehaus.groovy.control.customizers.ImportCustomizer; import org.jsoup.Jsoup; import org.springframework.stereotype.Service; @@ -23,18 +21,12 @@ import java.util.*; public class GroovyScriptEngine { private static final ObjectMapper objectMapper = new ObjectMapper(); - private static final GroovyClassLoader classLoader; - - static { - ImportCustomizer imports = new ImportCustomizer(); - imports.addStarImports("groovy.json"); - imports.addStarImports("com.par.core.adapter"); - - CompilerConfiguration config = new CompilerConfiguration(); - config.addCompilationCustomizers(imports); - - classLoader = new GroovyClassLoader(Thread.currentThread().getContextClassLoader(), config); - } + private static final GroovyClassLoader classLoader = new GroovyClassLoader( + Thread.currentThread().getContextClassLoader()); + /** 脚本前缀:自动导入必要包 + PluginContext 桩 */ + private static final String SCRIPT_PREFIX = + "import groovy.json.*\n" + + "import com.par.core.adapter.*\n"; @SuppressWarnings("unchecked") public Map execute(String groovyScript, String content, String url) { @@ -49,7 +41,7 @@ public class GroovyScriptEngine { binding.setVariable("utils", new ScriptUtils()); GroovyShell shell = new GroovyShell(classLoader, binding); - Object scriptResult = shell.evaluate(groovyScript); + Object scriptResult = shell.evaluate(SCRIPT_PREFIX + groovyScript); return buildResult(result, scriptResult); } catch (Exception e) {