56

在 Eclipse SVN 项目中,我遇到了问题;当我试图打开一个类的声明时,我收到了这个错误:

Problems opening an editor Reason : projectname does not exist.

重构也不起作用。

我已经在网上搜索并尝试了所有找到的解决方案,但没有任何帮助。我已经下载了不同的 Eclipse 和 Java 版本并切换到一个干净的工作区,但我仍然遇到问题。

我该如何解决我的问题或我可以尝试哪种解决方案?

4

14 回答 14

37

右键单击项目-> 属性-> 项目构面-> 单击配置链接-> 单击应用按钮-> 单击确定按钮。

上述步骤应该将您的项目设置为 Java 项目。

于 2014-10-30T19:17:45.180 回答
24

如果项目是多模块 Maven 项目,那么除了 parent/pom 项目外,还需要导入 child/module 项目。然后确保您只通过子项目打开源文件。以这种方式打开的Java文件会有Refactor右键菜单项,F3 Open Declaration等正常工作。但是,如果从父项目打开 Java 文件,这些 Eclipse 函数将丢失。

通过搜索结果打开文件时非常令人沮丧,因为该文件将在父项目和子项目中找到并列出。您需要确保仅使用通过子项目访问的文件。

我无法准确解释 Eclipse 发生了什么,但 Eclipse 似乎无法将父项目识别为 Java 项目,尽管无论是通过父项目还是子项目访问 Java 文件,它都会正确地语法高亮显示它们。

于 2015-04-02T21:01:46.880 回答
6

您需要将其作为 Java 项目检出,或者最好是它的创建者应该为它提交 .project 和 .classpath 文件。

于 2013-01-08T22:17:46.360 回答
2

您可以通过创建一个新的 java 项目来解决该问题。签出项目时,应选择默认选项 [签出为使用新项目向导配置的项目]。

于 2013-07-02T09:42:43.197 回答
2

它可能缺少构建器。检查你PROJ_HOME/.project的应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>the-one-user</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

参考: 常见问题解答 如何将构建器添加到给定项目?

于 2015-06-03T08:35:56.160 回答
2

我也有这个问题。看起来像是在工作区中搜索 Eclipse 打开了错误的文件。

我按下Ctrl++ (在层次结构中打开类型ShiftH,输入类名,然后打开它。该文件在新选项卡中打开,并且所有内容都可以再次导航。

图标的区别在于:

不可导航的 J 是轮廓字体

于 2016-07-12T16:48:40.443 回答
2

你是在导入一个 Maven 项目吗?如果你导入一个 maven 项目,一个文件将以几个视角查看,特别是如果你通过“打开资源(Ctrl + Shift + R)”打开文件。

在此处输入图像描述

再看上面的例子,“servlet-filter”(标记为1)作为maven项目导入,2中创建的maven透视项目。如果在1中打开文件,你的“Open Declaration F3”将不起作用,因为它不是一个有效的 Maven 项目。如果您在 2 中打开相同的文件,它将起作用。

希望这可以帮助。

于 2018-09-10T07:22:15.263 回答
1

您需要将其作为 Java/Maven 项目导入。完成导入项目后,请执行以下步骤

转到项目-> 选择属性-> 选择项目引用-> 选择/检查您在代码库中引用的所有依赖/子项目-> 应用并关闭

完成后,尝试清理整个项目。这应该可以解决问题。

于 2019-02-04T06:46:57.283 回答
0

如果你签出的项目的格式是Maven类型的,你需要先把它转换成一个Maven项目。这可能是因为尚未生成所需的类。为此,请右键单击项目,单击配置,然后单击转换为 Maven 项目。

于 2014-10-31T16:19:15.630 回答
0

Eclipse 中(至少在 Luna 中)存在一个非常具体的工作流程的错误,这可能不是这个特定问题的答案,但可能对其他人有帮助。

如果您从提取的 jar(作为源代码)执行导入到 src(意味着 src 文件夹在执行导入之前具有焦点)文件夹,并且您在嵌套包中的嵌套 *.java 文件中放置断点,它将不会命中那些断点。为了让事情正常工作,您必须一直按 F3 而不是使用“打开声明”来访问要在其中设置断点的 *.java 文件,然后双击最左边的空白处添加断点。然后运行 ​​> 调试为 > Java 应用程序。

于 2014-09-22T22:59:50.133 回答
0

我在 Debian 8 上的 Eclipse Luna 中也有同样的情况.classpath。从 SVN 签出时我丢失了该文件。我手动复制它并更改了一些路径名,刷新了项目并且它再次工作。

于 2015-05-28T11:49:14.120 回答
0

我正在使用 Eclipse Oxygen.2 (4.7.2)。单击项目-> 属性后,我没有看到项目构面。我的解决方案是右键单击项目并单击配置,然后选择配置和检测嵌套项目,Eclipse 会自动为您生成嵌套项目。在新创建的项目中可能会出现一些构建错误,这应该很容易修复。

于 2018-03-28T18:34:32.663 回答
0

当库在 F3 不起作用的项目的类路径上不可用时,就会发生这种情况。选择任何其他项目并尝试使用 f3 进行导航。它会起作用的。

解决方案是在您的库中添加 JAR 文件或在您的项目中添加库。尝试使用 MAVEN 项目,这样问题就不会发生。

于 2016-05-18T10:44:41.977 回答
-2

转到项目属性,选择项目构面,然后转换为项目构面,然后单击确定,然后您将能够打开编辑器。

于 2016-02-24T15:15:12.073 回答