【问题标题】:"Could not find main class" error running TestNG script in Eclipse在 Eclipse 中运行 TestNG 脚本时出现“找不到主类”错误
【发布时间】:2015-07-30 14:10:21
【问题描述】:

我正在尝试在 Eclipse 中运行 Selenium Web-Driver TestNG 脚本。我收到如下所示的错误。

我尝试过更改首选项、选中/取消选中“使用项目 testNG jar”、弄乱构建路径以及重新创建项目。谁能帮我解决这个问题,以便我可以继续使用 TestNG 创建很棒的脚本?

【问题讨论】:

  • 通常是红色的消息,这个以ClassLoader.loadClass结尾的案例比红十字更能提供信息......但它看起来像一个版本冲突......检查你的gradle conf
  • Gradle 配置?那是什么?
  • 我的错误,误读了 Gradle 的 Groovy(题外话,需要研究的东西(或 maven),我坚持使用 Java 的原因)......但是......你能再运行一次吗?杀死弹出窗口,向上滚动红色日志,然后检查是否有:Unsupported major.minor version 51.0?
  • "java.lang.UnsupportedClassVersionError: org/testng/TestNG : Unsupported major.minor version 51.0" 所以是的,我有(抱歉,由于某种原因它不允许我使用块引号)。
  • 看答案,我总是有点不确定错误版本的错误,版本指的是哪里,你的版本的lib...

标签: java eclipse selenium-webdriver testng


【解决方案1】:

您的问题,基于Unsupported major.minor version 51.0 是错误的Java 版本。您使用的库是在一个版本中编译的,而您使用的是不同的(很可能或肯定)您使用的是较低版本。

版本 51.0 指的是 Java 7。我会说您使用的库是 Java 7,而您的库更低...要更改它,请转到:

Window -> Preferences -> Java -> Compiler 

并将Compiler compliance level 设置得更高,至少1.7(即Java 7)。如果这不是一个选项,请安装更新的 Java JDK(pref 1.8,如果您愿意,也可以编译为 Java 7)。

不支持的 major.minor 版本 5{1,2,..}.0 (复制自https://stackoverflow.com/a/11432195/928952

J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

更新 JDK Eclipse 的更详尽的解释是使用:

project -> properties -> java build path-> Add Library -> JRE System Library-> Installed JREs -> Add(除非 jdk* 已经在列表中, 然后选择它并转到下一篇文章 -> 标准 VM -> 目录 按钮 -> 浏览到安装 JDK 的位置。里面 该目录您会看到几个文件夹,包括 bin 和 lib。
确保选择父级 他们的目录。单击确定。然后,您将看到 JRE 下的 .jar 列表 系统库(必须!)->点击完成。选中旁边的复选框 jdk1.8*.按确定然后完成。
现在您已经获得了正确的 Java 版本 在构建路径中......现在我们必须确保它成为 compiler 现在我们回到属性,转到 Java Compiler,make 确保启用项目特定设置已关闭。单击配置 工作区设置....设置合规级别:1.8 -> 应用(你得到 关于编译器设置的消息已更改重建 blablabla 点击是)然后 好的,然后再好的...

Eclipse 在找不到库时出现奇怪的错误

您可以尝试删除根目录下的 .project 和 .classpath 文件 你的项目。从工作区中删除项目(不要删除您的 源,先备份)...然后重新导入项目...可能就是这样 eclipse已经配置了一些不再存在的东西......帮助 我修复了一些可疑的错误...

【讨论】:

  • 我的编译器合规级别设置为 1.6,它说我安装的 JDK 的版本也是 1.6。这是问题吗?我应该更新我的 JDK 吗?
  • 当我进入“开始”菜单并搜索“Java”并单击“关于 Java”时,它显示我的版本为 1.7。为什么 Eclipse 说我安装了 JDK 1.6?
  • 是否显示Use compliance from execution environment 'JavaSE-1.6``or 1.7? If 1.6 go to Java Build Path` -> add library 如果工作空间错误/旧,请先浏览Execution environment,如果不在那里,请转到Installed JREs -> @ 987654332@ 浏览到您的JDK(不是JRE!)的安装位置。否则,从下拉按钮中选择 1.7(或 1.8)
  • 我没有注意到你的第一条评论。如果您可以先使用 1.7,则可以使用它。虽然我还是建议下载 1.8 JDK...因为它有一些不错的功能 - 恕我直言。看(当你完成这个课程时;-))infoq.com/articles/Java-8-Quiet-Features(我看到我不认识所有这些o_O,最好开始学习:-))
  • 在哪里可以看到执行环境“JavaSE-1.6”的使用合规性?此外,当我转到“已安装的 JRE”并单击“添加”和“执行环境描述”时,我会转到我的 Java 文件夹,但找不到扩展名为 .ee 的文件。我应该在哪里指出这个?
猜你喜欢
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多