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

84

我收到了一个Java项目的源文件夹(src)。我创建了一个.project文件,将其放在文件夹中,并通过“导入现有项目到工作区”选项将该项目导入到Eclipse 3.6中,并添加了所需的jar包。

现在的问题是,每当我对一个项目执行调用层次结构时,它显示一个警告框,上面写着"资源不在Java项目的构建路径上"

请问有人能告诉我如何解决这个问题吗?

请参见此处的图像:

enter image description here

谢谢

16个回答

95

你可以通过以下步骤将src文件夹添加到构建路径中:

  1. 选择Java视图。
  2. 右键单击src文件夹。
  3. 选择“构建路径”>“使用源文件夹”。

然后就完成了,希望这能帮到你。

编辑:请参考Eclipse文档


2
正如我之前提到的,不要进入属性。我再次强调,执行第二步和第三步。如果遇到任何困难,请再问我。请检查已编辑的答案。 - AbdulAziz
5
右键单击源代码后,我无法找到构建路径。 - Pawan
29
在最新版本的Eclipse中,不存在“构建路径”这样的东西。 - dtheodor
尝试重新导入项目。 - smwikipedia
这个选项在Eclipse Mars Java EE中正好在它应该在的地方。 - Noumenon
显示剩余8条评论

19

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

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


谢谢,这对我也有用,使用了maven-archetype-webapp。 - guillefix

15

最近我遇到了类似的问题。在导入一个没有 .project 文件的项目时,会生成一个默认的空的 .project 文件,但其中没有构建器。以下是一个示例 .project 文件,可以让它正常工作。

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

它对我有用过,但是被采纳的答案不再起作用了,我正在使用 Build id: 20130919-0819。 - apm

13
在我的情况下,我有一个Java项目,其中包含许多子文件夹,每个文件夹都包含自己的src文件夹。

在我的情况下,我有一个Java项目,其中包含许多子文件夹,每个文件夹都包含自己的src文件夹。

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

在我使用构建路径->右键单击选项时,没有可用的选项,就像其他答案所述一样。

我不得不进入项目->属性->项目面板并点击转换为面向方面的项目

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


7
这意味着您的项目不在Eclipse的编译路径上。如果接受答案后问题仍然存在,则需要将该项目放置在编译路径上。
因此,您需要再次将项目导入到您的工作区中。

7
我发现了一个类似的问题,并通过更正 .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>

1
但是问题是为什么项目构建会生成这个,以及它是如何生成的?我的项目下面有<name>org.maven.ide.eclipse.maven2Builder</name> - surendrapanday
我的也是一样的:<natures> <nature>org.eclipse.m2e.core.maven2Nature</nature> </natures> - Fahad

4
  1. 从工作区删除项目(取消选中从磁盘物理删除项目)
  2. 进入项目位置并删除 .project 文件
  3. 重新导入该项目。

3

2

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

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


2

右键单击您的项目 -> 属性 -> 项目面板 -> 转换 -> 在复选框中选择Java -> 应用并关闭

现在您应该能够看到您的层次结构。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接