Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: com/google/inject/Stage at org.testng.internal.Configuration.<init>(Configuration.java:33)
刚安装完TestNG,第一次运行就出错,在网上查遍了教程,基本没什么我的这类错误
呕心沥血了两天,终于让我解决了问题,果然功夫不负有心人,只不过这个功夫费的着实有点大。
eclispe的安装和TestNG的安装就不在这里说了,网上有很多教程。
eclipse我用的是第一个IDE,直接下载的压缩文件,直接解压,配置一下eclipse.ini文件,在文件头添加一下javaw.exe的绝对路径即可
以下在eclipse.ini中是添加的东西。
别忘了配置环境变量。
我的这个例子是在安装TestNG之前先安装了Maven,并且TestNG项目也是建在了Maven项目中。
以上是我此次项目的所有目录。
接下来重点讲一下我排查TestNG运行不成功的原因。
一开始都是好好的,在没有建立TestNG之前,eclipse还能好好的运行。Maven配置也没有错误。
因为是第一次在eclipse中安装Maven和TestNG,在网上也查了很多教程。因为是第一次,很多东西都不是很了解,所以一开始我以为原因出在了其他的地方(我的TestNG不是在线安装的,是下载安装包离线安装的,我怕问题出在了离线安装上。)我就重新解压了下eclipse安装包,重新运行,先安装了TestNG,运行了下,虽然没出结果(不知道是不是程序的问题,此时我对TestNG的输出还是很迷糊的)但是也没显示任何错误,我就默认他是没有问题吧。之后配置Maven,因为Maven之前已经下载过了,环境变量也配置好了。
如上图,建立好Maven项目后,加入了TestNG。本以为这次妥妥的没问题,但是现实还是教我做人了。
一运行,问题依旧。
这时候我就确定,不是TestNG插件问题了,这次是在线安装的。Maven也没有问题(关于这部分,网上有很多教程,我也看了很多,总结了下步骤,确定自己做的没问题。)
建立Maven项目,会生成一个pom.xml文件,需要在里面添加依赖。
我灵机一动,在TestNG官网上看到过Maven的配置,我觉得他有可能是要加到pom.xml文件中的,不然他问什么会出现在下载页面呢。我就试了下。
这个是下载页面中的Maven的依赖。
我就把东西都复制到pom.xml文件中了,记得:一定要把版本改成你自己下的TestNG版本号,上面只是一个例子。我自己下的是目前的最新版本7.1.1,我就改了下,但是提醒我repositories错误,我就把这块删除了,一保存,一运行,我惊了。竟然成功了!!!
这里说一下我为什么如此震惊呢,因为一开始的时候,我有试过配置依赖,当时是在https://mvnrepository.com/artifact/org.testng/testng此网址中把Maven依赖复制过去的,这个网址是专门添加pom.xml以来的,需要什么搜一下就行。当时添加好了之后还是有问题的,现在想想是版本号没改,最新的版本只到7.1.0,而我的是7.1.1。这说明这个网站还是更新的不是很及时,不过最大的问题还是在我,因为我不懂,所以才导致在这个问题上浪费了太多时间。
最后放一下我的pom.xml中的相关配置。
哦了。