Java项目中的Eclipse Open声明

时间:2013-01-08 01:45:44

标签: java eclipse declaration

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

Problems opening an editor Reason : projectname does not exist.

同样重构也行不通。

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

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

14 个答案:

答案 0 :(得分:30)

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

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

答案 1 :(得分:19)

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

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

我无法准确解释Eclipse的用途,但看起来Eclipse并不认为父项目是Java项目,尽管它会正确地语法突出显示Java文件,无论它们是通过父项目或子项目访问。

答案 2 :(得分:6)

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

答案 3 :(得分:2)

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

答案 4 :(得分: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>

价: FAQ How do I add a builder to a given project?

答案 5 :(得分:2)

您要导入Maven项目吗?如果您导入的是Maven项目,则将以很少的角度查看文件,尤其是通过“打开资源(Ctrl + Shift + R)”打开文件时。

enter image description here

让我们看一下上面的示例,将“ servlet-filter”(标记为1)导入为maven项目,并在2中创建maven透视图项目。如果在1中打开文件,则“ Open Declaration F3”将无效,因为它不是有效的Maven项目。如果在2中打开相同的文件,它将起作用。

希望这会有所帮助。

答案 6 :(得分:1)

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

我按 Ctrl + Shift + H (在层次结构中打开类型),键入类名,然后打开它。文件在新标签页中打开,所有内容都可以再次导航。

图标的不同之处在于:

the non-navigable J is in a contour font

答案 7 :(得分:0)

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

如果从提取的jar(作为源代码)执行src导入(意味着src文件夹在执行导入之前具有焦点)文件夹,并且在嵌套包中的嵌套* .java文件中放置断点,则它赢得& #39;击中那些断点。为了让事情发挥作用,你必须继续按F3而不是使用&#34; Open Declaration&#34;要获取要在其中设置断点的* .java文件,然后通过双击最左边距添加断点。然后运行&gt; Debug As&gt; Java应用程序。

答案 8 :(得分:0)

如果您签出的项目格式是Maven类型,则需要先将其转换为Maven项目。可能是因为尚未生成所需的类。为此,请右键单击该项目,单击“配置”,然后单击“转换为Maven项目”。

答案 9 :(得分:0)

我在Debian 8上的Eclipse Luna中也有同样的看法。 从SVN退房时,我错过了.classpath文件。 我手动复制它并更改了一些路径名,刷新了项目,它又恢复了工作。

答案 10 :(得分:0)

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

解决方案是在库中添加JAR文件或在项目中添加库。 尝试使用MAVEN项目,以便永远不会发生问题。

答案 11 :(得分:0)

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

  

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

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

答案 12 :(得分:-1)

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

答案 13 :(得分:-1)

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