Eclipse - 无效的类路径容器:项目和 JUnit 中的 'TestNG' 失败

Eclipse - Invalid classpath container: 'TestNG' in project and JUnit failed

我正在使用 Eclipse 4.9,我尝试更新新的 TestNG 升级(7)

它失败了,所以我回滚到以前的版本,现在我遇到了问题

'Invalid classpath container: 'TestNG' in project 

我无法修复

  1. clean project (maven can't be execute due to NullpointerException below errors)

  2. 重新安装 TestNG

  3. 删除和添加 TestNG 库

我没有找到这个问题的相关答案

错误日志:

java.lang.NullPointerException
    at org.eclipse.jem.workbench.utility.JavaModelListener.isInClasspath(JavaModelListener.java:367)
    at org.eclipse.jem.workbench.utility.JavaModelListener.isInClasspath(JavaModelListener.java:412)
    at org.eclipse.jem.workbench.utility.JavaModelListener.isInClasspath(JavaModelListener.java:384)
    at org.eclipse.jem.workbench.utility.JavaModelListener.isInClasspath(JavaModelListener.java:305)
    at org.eclipse.jem.internal.adapters.jdom.JavaReflectionSynchronizer.processJavaElementChanged(JavaReflectionSynchronizer.java:117)
    at org.eclipse.jem.workbench.utility.JavaModelListener.processDelta(JavaModelListener.java:116)
    at org.eclipse.jem.internal.adapters.jdom.JavaReflectionSynchronizer.processDelta(JavaReflectionSynchronizer.java:343)
    at org.eclipse.jem.workbench.utility.JavaModelListener.processChildren(JavaModelListener.java:78)
    at org.eclipse.jem.internal.adapters.jdom.JavaReflectionSynchronizer.processChildren(JavaReflectionSynchronizer.java:336)
    at org.eclipse.jem.workbench.utility.JavaModelListener.processJavaElementChanged(JavaModelListener.java:176)
    at org.eclipse.jem.workbench.utility.JavaModelListener.processDelta(JavaModelListener.java:113)
    at org.eclipse.jem.internal.adapters.jdom.JavaReflectionSynchronizer.processDelta(JavaReflectionSynchronizer.java:343)
    at org.eclipse.jem.workbench.utility.JavaModelListener.elementChanged(JavaModelListener.java:63)
    at org.eclipse.jem.internal.adapters.jdom.JavaReflectionSynchronizer.elementChanged(JavaReflectionSynchronizer.java:265)
    at org.eclipse.jdt.internal.core.DeltaProcessor.run(DeltaProcessor.java:1738)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1726)
    at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta(DeltaProcessor.java:1559)
    at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1535)
    at org.eclipse.jdt.internal.core.DeltaProcessor.notifyAndFire(DeltaProcessor.java:2256)
    at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2146)
    at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:477)
    at org.eclipse.core.internal.events.NotificationManager.run(NotificationManager.java:300)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:290)
    at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:153)
    at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:379)
    at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1502)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:160)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

编辑 1

其实我也未能执行JUnit

java.lang.NullPointerException
        at org.eclipse.jdt.launching.JavaRuntime.processJavaLibraryPathEntries(J
avaRuntime.java:3037)
        at org.eclipse.jdt.launching.JavaRuntime.processJavaLibraryPathEntries(J
avaRuntime.java:3049)
        at org.eclipse.jdt.launching.JavaRuntime.gatherJavaLibraryPathEntries(Ja
vaRuntime.java:3000)
        at org.eclipse.jdt.launching.JavaRuntime.computeJavaLibraryPath(JavaRunt
ime.java:2958)
        at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.get
JavaLibraryPath(AbstractJavaLaunchConfigurationDelegate.java:1081)
        at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.get
VMArguments(AbstractJavaLaunchConfigurationDelegate.java:598)
        at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.colle
ctExecutionArguments(JUnitLaunchConfigurationDelegate.java:376)
        at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.getVM
RunnerConfiguration(JUnitLaunchConfigurationDelegate.java:185)
        at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.launc
h(JUnitLaunchConfigurationDelegate.java:255)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConf
iguration.java:862)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConf
iguration.java:720)
        at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlu
gin.java:1029)
        at org.eclipse.debug.internal.ui.DebugUIPlugin.run(DebugUIPlugin.java:
1243)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
java.lang.NullPointerException
        at org.eclipse.jdt.launching.JavaRuntime.processJavaLibraryPathEntries(J
avaRuntime.java:3037)
        at org.eclipse.jdt.launching.JavaRuntime.processJavaLibraryPathEntries(J
avaRuntime.java:3049)
        at org.eclipse.jdt.launching.JavaRuntime.gatherJavaLibraryPathEntries(Ja
vaRuntime.java:3000)
        at org.eclipse.jdt.launching.JavaRuntime.computeJavaLibraryPath(JavaRunt
ime.java:2958)
        at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.get
JavaLibraryPath(AbstractJavaLaunchConfigurationDelegate.java:1081)
        at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.get
VMArguments(AbstractJavaLaunchConfigurationDelegate.java:598)
        at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.colle
ctExecutionArguments(JUnitLaunchConfigurationDelegate.java:376)
        at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.getVM
RunnerConfiguration(JUnitLaunchConfigurationDelegate.java:185)
        at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.launc
h(JUnitLaunchConfigurationDelegate.java:255)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConf
iguration.java:862)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConf
iguration.java:720)
        at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlu
gin.java:1029)
        at org.eclipse.debug.internal.ui.DebugUIPlugin.run(DebugUIPlugin.java:
1243)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

编辑 2

Eclipse 4.10 不支持降级到 Eclipse Neon 所需的 TestNG 插件

TestNG is only available only for version till (4.9)2018-09 , you hv not made plug in for 2018-12.that's why it is not showing in marketplace

最新版本支持 Eclipse Photon 2018-12:

https://github.com/cbeust/testng-eclipse/releases/tag/6.14.3.201902250526

如果您仍然遇到问题,请在 github 上提出问题。

我不得不手动(不使用市场)来自 http://beust.com/eclipse/

的 TestNG 版本

请注意有关您正在安装的软件包含未签名内容的警告