最新OpenTest版本Agents异常,运行actor遇Nashorn类缺失求助
解决OpenTest Actor启动时的Nashorn缺失错误
报错原因
你遇到的NoClassDefFoundError是因为Nashorn脚本引擎在Java 11及更高版本中被移除,而当前使用的OpenTest版本依赖Nashorn来运行测试脚本。
解决方案:在actor.yaml中配置替代脚本引擎
在你的actor.yaml文件中添加以下配置,指定使用GraalJS作为替代的脚本引擎:
scriptEngine: className: org.graalvm.js.scriptengine.GraalJSScriptEngineFactory
补充说明
- 依赖准备:需要确保OpenTest Actor的类路径中包含GraalJS的相关Jar包(
graal-sdk.jar、js.jar、truffle-api.jar),可以将这些Jar文件放在actor目录下的lib文件夹中。 - 备选方案:如果不想引入GraalJS,也可以降级Java版本到Java 8或10(这两个版本仍内置Nashorn),但长期来看推荐使用GraalJS的方案。
内容的提问来源于stack exchange,提问作者Ankit Rana
相关产品推荐
相关产品推荐

