当前位置: 首页 > 面试题库 >

JUnit 4.8需要什么Java版本

呼延卓
2023-03-14
问题内容

我正在尝试使用1.5 JRE运行JUnit测试,但收到错误消息:

java.lang.UnsupportedClassVersionError:.class文件中的版本号错误

当我切换到JRE 1.6(实际上是JDK,但这没关系,对吧?),一切都正常。

所以问题是:

  • 当前的JUnit版本是否真的需要Java 6?
  • 与Java 5兼容的最新JUnit版本是什么?

问题答案:

对几个类的抽查显示该JUnit 4.8.2jar文件是使用Java 5编译的,或者是使用-target设置了选项的Java
6编译器进行编译的,因此可以生成与Java5兼容的类文件。

更可能的解释是,您不小心编译了要在Java 6 JDK上运行的测试。是什么

javap -verbose -classpath YOUR_TOP_DIRECTORY com.yourname.YourTest

在输出的顶部说“主要版本”?如果显示50,则问题是您仅针对Java 6编译了测试类。您需要使用html" target="_blank">JDK 5编译器,或者将选项传递-target 1.5给编译器。



 类似资料:
  • 问题内容: 我们需要大量的序列化工作,并且必须在使用的每个对象上指定标签,这是一种负担。特别是当它是第三方类时,我们不能真正更改。 问题是:由于是一个空接口,并且Java一旦添加便提供了可靠的序列化 为什么它们不使所有内容都可序列化,仅此而已? 问题答案: 序列化充满陷阱。这种形式的自动序列化支持使类内部成为公共API的一部分(这就是javadoc为你提供类的持久化形式的原因)。 为了实现长期持久

  • 问题内容: 我对JAX-WS进行了概述,并注意到了(和)的一些引用。 在什么情况下需要?(我认为JSR 109服务器?!) 问题答案: 是使用SUN的参考实现将Web服务作为标准存档部署在非Java EE5 Servlet容器上时所需的专有部署描述符。 Sun的RI 用作servlet上下文事件的侦听器和调度程序servlet。两者都必须在中声明。然后需要该文件为定义Web服务端点,以使其知道必须

  • 我上了Java的课程,正在努力自学C和K 在Java中,您可以声明一个类似于公共静态浮点转换(int f)的函数,而不需要原型。这对我来说似乎简单得多。为什么会有差异?

  • 互联网是超文本标记语言(HTML)页面的集合,它们彼此链接以形成概念性信息网络。随着时间的推移,静态资源数量增加,图像等更丰富的项目开始成为Web结构的一部分。 高级服务器技术允许动态服务器页面 - 其内容基于查询生成的页面。 很快,需要拥有更多动态网页才能获得动态超文本标记语言(DHTML)。一切都归功于JavaScript。在接下来的几年中,我们看到了跨帧通信,试图避免页面重新加载,然后在帧内

  • 当前信息时代,哪里都是应用程序。这些应用程序们不仅仅是运行人们工作场所的工具 - 它们现在正在经营人们的生活。 对即时响应的需求,完美的行为和更多的功能是前所未有的。 而且,当然,人们期望应用程序在不同类型的设备上运行平稳,特别是在移动设备上。 应用程序执行的速度与它所做的一样重要。 NGINX的核心功能,例如其具有高性能HTTP和反向代理服务器的大规模可扩展事件驱动架构,访问和带宽控制以及与各种