You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Groovy脚本无法解析org.apache.commons.lang.RandomStringUtils类求助

Groovy脚本找不到RandomStringUtils类问题修复方案

问题根因

  • Groovy 2.1.9版本默认未内置Apache Commons Lang依赖,需要手动引入
  • 你之前尝试的两个依赖坐标均非官方正式发布的commons-lang组件,无法从Maven中央仓库正常拉取
  • 非法反射访问警告是JDK11和Groovy 2.1.9版本兼容性导致,不影响功能运行

修复方法

1. 替换正确的依赖引入

官方Apache Commons Lang 2.6(包含你需要的org.apache.commons.lang.RandomStringUtils类)的正确坐标为commons-lang:commons-lang:2.6,直接在脚本import语句前添加@Grab注解即可。

2. 修正脚本文件名对应关系

你编写的脚本名为myScript.groovy,执行时注意不要写错为sampleScript.groovy。

修改后的完整脚本如下:

@Grab('commons-lang:commons-lang:2.6')
import org.apache.commons.lang.RandomStringUtils

String charset = (('A'..'Z') + ('0'..'9')).join()
Integer length = 9
String randomString1 = RandomStringUtils.random(length, charset.toCharArray())
String randomString2 = RandomStringUtils.random(length, charset.toCharArray())
String randomString3 = RandomStringUtils.random(length, charset.toCharArray())

// 可自行添加打印逻辑验证生成结果
println randomString1
println randomString2
println randomString3

3. 可选操作

  • 若仍然出现依赖拉取失败,可删除本地Groovy Grape缓存后重试:
    rm -rf ~/.groovy/grapes/commons-lang
    
  • 若需要消除非法反射警告,执行脚本时添加对应JVM参数即可:
    groovy --add-opens java.base/java.lang=ALL-UNNAMED myScript.groovy
    

内容的提问来源于stack exchange,提问作者u123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 08:06:04