Eclipse启动TestNG脚本抛出内部错误 版本号11.0.15.0.1无效
问题原因
该报错和测试代码本身、Maven配置无关,是Eclipse集成的旧版本TestNG插件存在JDK版本号解析兼容缺陷导致:
- 旧版TestNG插件内置的版本校验逻辑遵循OSGi版本规范,仅支持解析最多3段数字+单段限定符的版本格式,遇到当前环境中带5段版本号的JDK 11(版本字符串为
11.0.15.0.1)时,会错误将最后两段判定为非法限定符,直接抛出内部错误阻断测试启动流程。 - 执行
mvn test时走的是Maven自身的依赖管理和执行链路,不会调用Eclipse TestNG插件的版本校验逻辑,因此同一份脚本可以正常运行。
问题涉及的测试代码不存在注解配置、语法层面的错误,无需修改:
package eabm.testcases; import org.testng.annotations.Test; public class TestNgscript { @Test public void test() { System.out.println("Testing"); } }
修复方案
可根据自己的环境选择任意一种方案解决:
- 升级Eclipse TestNG插件到最新版:打开Eclipse顶部菜单栏的
Help > Eclipse Marketplace,搜索TestNG后点击更新,重启Eclipse即可。新版本插件已经修复了多段JDK版本号的解析兼容问题,是最推荐的根治方案。 - 更换Eclipse绑定的JDK版本:如果暂时不方便升级插件,可以替换为版本号为标准三段格式的JDK 11正式发行版(比如11.0.12、11.0.16这类不带额外后缀的版本),在
Window > Preferences > Java > Installed JREs中添加新JDK并设为默认,重启Eclipse后即可正常运行测试。 - 临时规避:如果不想调整环境,在Eclipse中运行测试时不要直接选择TestNG运行入口,右键项目选择
Run As > Maven test,走Maven执行链路即可绕过插件的版本校验bug。
报错核心日志:
An internal error occurred during: "Launching TestNgscript". invalid version "11.0.15.0.1": invalid qualifier "0.1"
内容的提问来源于stack exchange,提问作者Debasis Behera
相关产品推荐
相关产品推荐

