public class GroovyScriptCompiler extends Object
该类封装了 CompilerConfiguration 对象,允许通过自定义编译器配置来定制 Groovy 脚本的编译行为。
在构造函数中,默认添加了一些安全拦截器,如 SandboxTransformer 和 SystemClassInterceptor,以防止脚本执行潜在的危险操作。
该类还提供了方法来注册自定义的拦截器和编译器定制器,以进一步增强安全性和功能性。
| 构造器和说明 |
|---|
GroovyScriptCompiler()
构造函数,初始化 Groovy 脚本编译器配置,并注册默认的安全拦截器。
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addCompilationCustomizer(org.codehaus.groovy.control.customizers.CompilationCustomizer customizer)
添加自定义的编译器定制器。
|
org.codehaus.groovy.control.CompilerConfiguration |
getCompilerConfiguration()
获取当前的编译器配置。
|
void |
registerSecurityInterceptor(org.kohsuke.groovy.sandbox.GroovyInterceptor interceptor)
注册安全拦截器。
|
public GroovyScriptCompiler()
默认注册以下拦截器:
SandboxTransformer:用于沙盒化 Groovy 脚本,限制其执行范围。SystemClassInterceptor:用于拦截对 System 类的敏感方法调用,防止潜在的系统安全风险。RuntimeClassInterceptor:用于拦截对 Runtime 类的敏感方法调用,防止可能的恶意行为。public void addCompilationCustomizer(org.codehaus.groovy.control.customizers.CompilationCustomizer customizer)
通过此方法可以向编译器配置中添加额外的定制器,用于修改脚本编译行为。
customizer - 需要添加的编译器定制器public void registerSecurityInterceptor(org.kohsuke.groovy.sandbox.GroovyInterceptor interceptor)
通过此方法可以注册自定义的安全拦截器,用于在脚本执行过程中拦截特定的操作,增强安全性。
interceptor - 需要注册的安全拦截器public org.codehaus.groovy.control.CompilerConfiguration getCompilerConfiguration()
CompilerConfiguration 对象Copyright © 2025 Awesome Java Web. All rights reserved.