我在旧的eclipse(Photon)上遇到了一些问题(内容帮助),因此切换到了最新的eclipse jee 2019.因此,当我尝试运行一些以前可以工作的junit 5单元测试时,现在无法识别为Junit5测试用例,并且抛出以下错误。
在此处输入图片说明
我也低于错误消息:
java.lang.NoSuchMethodError:org.junit.platform.launcher.Launcher.execute(Lorg / junit / platform / launcher / TestPlan; [Lorg / junit / platform / launcher / TestExecutionListener;)V在org.eclipse.jdt.internal处。 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)处的junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:89)在org.eclipse.jdt.internal.junit.runner中。 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.runTests(RemoteTestRunner.java:541)位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)上的RemoteTestRunner.java:463)
对此有帮助吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到这个问题,通常是因为Eclipse中JUnit的版本与你项目依赖的JUnit版本不匹配所导致的。根据你的错误信息,看起来是Eclipse正在使用一个不兼容JUnit 5的JUnit Platform Launcher版本。以下是一些建议来解决这个问题:
检查并更新JUnit库版本:
pom.xml
(如果你使用Maven)或build.gradle
(如果你使用Gradle)中确认JUnit Jupiter、JUnit Vintage Engine和JUnit Platform的版本。例如,确保有如下依赖(以Maven为例):
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.x.y</version>
<scope>test</scope>
</dependency>
其中5.x.y
应替换为具体的版本号,确保它与Eclipse支持的版本相匹配。
更新Eclipse JUnit插件:
Help
> Marketplace
,搜索“JUnit”相关的插件,查看是否有针对JUnit 5的更新或者专门的插件需要安装。确保安装了最新版本的JUnit 5支持插件。清理并重建项目:
Project
> Clean...
,然后选择你的项目进行清理。之后,重新构建项目看看问题是否得到解决。检查并配置JUnit运行器:
Run As
> Run Configurations...
,检查JUnit配置是否正确指向了JUnit 5。如果有必要,可以创建一个新的配置,确保在JUnit
选项卡下选择了正确的JUnit版本。移除旧版JUnit库:
Project Properties
> Java Build Path
> Libraries
),确保没有旧版本的JUnit库被意外包含进来,这可能会导致版本冲突。如果以上步骤都不能解决问题,可能需要更详细地检查Eclipse的日志文件,看是否有其他线索指示具体的问题所在。希望这些建议能帮助到你!