Eclipse -- Testng 引用不存在的项目 XXX,启动配置

Posted

技术标签:

【中文标题】Eclipse -- Testng 引用不存在的项目 XXX,启动配置【英文标题】:Eclipse -- Testng references non-existing project XXX, launch configuration 【发布时间】:2014-05-31 17:54:03 【问题描述】:

当尝试将测试作为 TestNG 套件运行时,我会收到一条非常神秘的错误消息,指出 TestNG 无法启动,因为它引用了一个不存在的项目。我认为我的项目确实存在,我在包资源管理器中看到它!

【问题讨论】:

【参考方案1】:

我在为 raspberry pi 使用 raspbian OS 时遇到了同样的问题。 问题是 java 项目引用了我以前的项目之一。

我通过以下步骤解决了这个问题。

    转到项目->属性 在属性窗口的左窗格中选择“运行/调试设置”。 选择“配置”并点击“编辑” 在“主要”选项卡中,将项目替换为您当前的项目。 通过单击搜索按钮选择“主类”(它将是您的类名)。 现在点击确定。

【讨论】:

在我的例子中,我到了第 2 步,看到了我的项目以及我一直在从事的前一个项目的名称。我删除了带有上一个项目名称的行,单击 OK 或 APPLY 足够多次,它运行了。感谢您的解决方案。【参考方案2】:

事实证明,您只需要确保您的项目是 Java 项目,而不是简单项目。 检查导航器是否显示与文件夹关联的蓝色小“J”。如果没有,那么您已经创建了一个简单项目。

“您创建的项目似乎不是Java项目。

Eclipse 自动将 .java 文件构建为所有 .java 文件的 .class 文件 包含在 Java 项目中。

创建 Java 项目 文件>新建>项目>Java 项目 为项目命名。点击完成”

在this source 深处发现了这个答案。

在 Eclipse 中,您应该使用 Navigator 而不是 Package explorer,因为 navigator 正在浏览实际的文件系统,而 package explorer 只加载某些内容。希望未来人们可以更轻松地找到解决方案。

【讨论】:

它为我显示了 M,即 Maven 项目。我将它作为现有的 Maven 项目导入;做了maven干净安装。在启动文件时,我收到上述错误。我错过了什么? testng 需要它是一个简单的项目,而不是一个 maven 项目【参考方案3】:

我知道这是一篇旧帖子,但我最近在使用 MacBook Pro 时遇到了这个问题。

当我创建一个新的 Eclipse 工作区并从 SCM 加载我的所有项目时,由于引用了一个不存在的项目,我遇到了这些 Ant 故障。

解决方案不容易发现,但解决方案很简单: 将 Ant 运行配置的 JRE 更改为在与工作区相同的 JRE 中运行。

您无需将构建项目更改为 Java 项目。

【讨论】:

这救了我的命!谢谢。我在非java项目中使用ant,上面的解决方案没有意义。 所以这是我的下一个想法。我不想使用相同的 JRE 运行,因为我想并行运行多个 Ant 构建。唉,我还没有找到任何解决方案。 谢谢,我就是这样。 我遇到了同样的问题,这个解决方案解决了,谢谢:)【参考方案4】:

针对同一问题以不同的方式解决。

1) 转到项目->属性。

2) 在属性窗口的左窗格中选择“Project Facets”。

3) 然后点击“转换为多面形式”

4) 然后选择你的服务器和 JDK 版本。

应用并关闭。

注意:验证项目和默认的 IDE JRE 版本是否相同。

【讨论】:

【参考方案5】:

如果您尝试运行的当前项目中有一个测试类与您关闭或删除的项目中的一个测试类相匹配,并且之前已针对该测试类运行过单元测试,则会出现此问题。

您可能有来自这个已删除/丢失或关闭的项目的测试用例。 Eclipse 将隐藏已删除和已关闭项目的启动配置,但当您执行“右键单击类”->“运行方式”调用单元测试时仍会尝试使用它们。

这里的解决方案是取消隐藏问题启动配置,以便您可以删除它或修改它以符合当前项目。

取消隐藏已删除和关闭项目的启动配置:

这是通过下拉菜单路径 -> Eclipse -> Preferences -> "Run/Debug" -> Launching -> "Launch Configurations" 完成的 在“启动配置”屏幕中找到“启动配置过滤器” 部分并取消选中前 2 个复选框: - “过滤已关闭项目中的配置” - “过滤已删除或丢失项目中的配置” 单击“应用并关闭”按钮并关闭弹出屏幕。

编辑/删除问题配置:

从下拉菜单中打开“运行”->“运行配置”。在左侧找到并选择(不再隐藏)运行配置。 在此配置中,您可以更新对当前项目的项目引用,也可以完全删除配置。如果您删除运行配置,当您尝试在当前类上“运行为”时,eclipse 将使用正确的项目设置从头开始创建一个新配置。

【讨论】:

【参考方案6】:

在我的例子中,运行快捷方式引用了一个旧项目。

只需右键单击我尝试运行的项目的文件夹并选择我的 java 类即可解决问题。

然后按下运行按钮再次开始工作。

【讨论】:

【参考方案7】:

如果它是一个现有的项目,您必须在项目根文件夹中有类路径和项目文件才能使其成为java项目。

示例:

<!--classpath -->
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
    <attributes>
        <attribute name="optional" value="true"/>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
    <attributes>
        <attribute name="optional" value="true"/>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>

<!-- .project  -->
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>testProject</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.m2e.core.maven2Builder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>

【讨论】:

【参考方案8】:

它不一定是 Java 项目,也可以是 Maven 项目。项目的最旧版本可能存在参考问题。请尝试从您的 Eclipse 工作区中删除最旧的版本,然后更改您的参考点。

【讨论】:

【参考方案9】:

在我的例子中,错误发生在 Scala 项目中。已经安装了the eclipse plugin,但是还没有使用。

诊断:如果一切顺利,该项目有一个蓝色 S 用于 scala 项目。如果没有,它有一个黄色的 PC 鼠标(不管这意味着什么)。

要修复,你需要

sbt eclipse

在命令行上。 Eclipse 最迟在重启时会将其识别为 Scala 项目。

【讨论】:

【参考方案10】:

我解决了这个问题,请按照以下步骤操作:

右键单击功能文件>运行配置>检查功能路径和类路径.. 它正在走上一个项目的道路。解决了选择当前项目后的问题

【讨论】:

【参考方案11】:

我也遇到了同样的问题,但只是通过删除测试运行器解决了它。 转到文件->属性->运行/调试设置->单击测试运行器并将其删除。完成此步骤后,您的 Eclipse 开始像以前一样正常工作!

【讨论】:

以上是关于Eclipse -- Testng 引用不存在的项目 XXX,启动配置的主要内容,如果未能解决你的问题,请参考以下文章

Testng Eclipse开发版本选择

Eclipse:类路径引用的存档不存在

如何把reportng导入eclipse

TestNG系列TestNG+Eclipse环境配置

关于eclipse中testNG的安装

关于eclipse中testNG的安装