Eclipse:资源不在Java项目的构建路径上

时间:2012-02-27 12:25:48

标签: java eclipse

我获得了Java项目的源文件夹(src)。我创建了一个.project文件,将其保存在该文件夹中,并通过将现有项目导入工作区选项将该项目导入Eclipse 3.6,并为其添加了必需的jar。

现在的问题是,当我在项目上执行调用层次结构时,它会显示一个警告框说 “资源不在java项目的构建路径上”

有人可以告诉我如何解决这个问题吗?

请看这里的图片

enter image description here

谢谢

15 个答案:

答案 0 :(得分:71)

您可以通过以下方式添加src文件夹来构建路径:

  1. 选择Java perspective。
  2. 右键单击src文件夹。
  3. 选择构建路径>使用源文件夹。
  4. 你完成了。希望这有帮助。

    编辑:请参阅Eclipse documentation

答案 1 :(得分:13)

我正在尝试使用eclipse及其maven插件设置动态Web项目。 我正在选择maven-archetype-webapp并面临同样的问题(当我尝试为某些属性自动生成getter和setter时,我会遇到这个问题)。

我的方法是右键单击项目,选择Build Path - >配置构建路径,然后删除我在条目/ src / main / resources下找到的奇怪的排除过滤器“Excluded:**”。

答案 2 :(得分:11)

最近我遇到了类似的问题。导入没有.project的项目时,会生成一个没有构建器的默认空.project。这是一个让它发挥作用的例子。

<buildSpec>
    <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

答案 3 :(得分:8)

我发现了类似的问题并通过更正 .project 文件来修复它。对于java项目.project文件必须在 natures

中具有以下标记

org.eclipse.jdt.core.javanature

完整.project文件的示例

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>SampleProjectName</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.maven.ide.eclipse.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>oracle.eclipse.tools.weblogic.sharedLibraryFrameworkValidator</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

答案 4 :(得分:5)

这意味着您的项目不在Eclipse的编译路径上。如果在接受的答案问题仍然存在之后,您需要首先将该项目放在编译路径中。为此,您需要在工作区中再次导入项目,之后它将正常工作。

类似的问题来到我身边,我做了我告诉你的任何事情,它对我有用。

答案 5 :(得分:3)

就我而言,我有一个包含许多子文件夹的java项目,每个子文件夹都包含自己的src文件夹。

project
-subfolder
--src/main/java
-subfolder2
--src/main/java

使用构建路径时没有可用选项 - &gt;右键单击选项,如其他回复所述。

我不得不去Project - &gt;属性 - &gt;单击项目构面并单击convert to faceted project

然后我将所有src个文件夹添加到构建路径中。

答案 6 :(得分:1)

将文件夹src/main/resource的名称重构为src/main/java

右键单击项目&gt;构建路径&gt;使用源文件夹。

答案 7 :(得分:1)

将Eclipse Oxygen与multimodule maven project make sure you're not editing the file in the maven parent project一起使用。

这导致&#34;公开声明&#39;开放式层次结构&#39;和&#39;打开呼叫层次结构&#39;显示有问题的可怕对话框。它甚至会搞乱自动完成。

答案 8 :(得分:1)

  1. 从工作区删除项目(取消选中从磁盘上物理删除项目的操作)
  2. 转到项目位置并删除.project文件
  3. 再次导入项目。

答案 9 :(得分:0)

你所要做的就是将你的Project文件夹移动到Src下,就是这样,完成了。如果有任何问题,请告诉我。

答案 10 :(得分:0)

看起来您在 src / main / resources 下创建了Java类,而不是 src / main / java

答案 11 :(得分:0)

如果您在导入后使用pom.xml从外部源导入项目,请转到Project-&gt; Properties-&gt; Maven并启用Java EE - 这将解决错误

答案 12 :(得分:0)

在我的情况下,未正确指定源文件夹。解决问题:

  • 在项目浏览器中右键单击项目名称
  • 选择Properties
  • 选择Java Build Path
  • 选择Source标签并检查其中的内容。确保Add Folder...并选择作为源文件根目录的文件夹。

因此,您将注意到项目浏览器中的文件夹结构将被修改为显示包图标和包名称。

答案 13 :(得分:0)

如果在尚未构建的新项目上以Java以外的视角打开文件,然后返回Java视角,则会收到此警告消息。 关闭文件,然后在Java透视图中将其打开以进行备份,然后重试。 如果失败了,那么已经提供的其他解决方案将有所帮助。

例如:

  • 导入git存储库中的项目
  • 打开git视角
  • 打开Git暂存视图
  • 右键单击Java源文件,然后选择“打开工作树版本”
  • 打开Java透视图。
  • 现在,“常规” Java功能可能无法正常工作。请注意,文件路径是工作站的文字路径,而不是工作空间。

答案 14 :(得分:0)

似乎您是从 git 导入项目,而不是从本地存储库导入到工作区。 要将本地存储库项目添加到工作区,请执行以下操作。 点击项目(demoApp)->导入项目->完成。