Eclipse+Maven中的src/main/java在包资源管理器中不可见

67

我想知道为什么在软件包资源管理器中的src节点下看不到以下文件夹

src/main/java
src/main/resources
src/test/java
src/test/resources

我可以直接访问这些文件夹,并且它们存在于文件系统中。

我正在使用Spring Tool Suite(Eclipse的STS)。

也许我可以以某种方式配置Eclipse?


图片描述 图片描述 图片描述


5
也许可以使用项目资源管理器 - Aleksandr M
你使用的是哪个Eclipse版本? - Nicola Musatti
1
谢谢。项目资源管理器运行良好。 - Sebastian Dusza
20个回答

142

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

  1. 右键单击Maven项目 -> Build Path -> Configure Build Path
  2. 在Order and Export选项卡中,你会看到“2个构建路径条目丢失”的消息
  3. 现在选择“JRE System Library”和“Maven Dependencies”复选框
  4. 点击确认

现在你可以在所有类型的资源管理器(包括 Package 或 Project 或 Navigator)中看到以下内容:

src/main/java

src/main/resources

src/test/java

2
谢谢,你帮了我很多 +1 - Giancarlo Abel Giulian
2
这个为什么有效的解释是什么?我的源文件夹也“丢失”了,但这个解决方案确实解决了我的问题。虽然我不明白为什么... - jumps4fun
1
非常感谢。你让我的一天变得美好了。 - JPG
在我的情况下,更改构建路径中的源文件夹起作用了。 - Akshay Joshi
1
@PhilipRego 我找到了这个页面,因为我和你一样遇到了同样的问题(即没有“构建路径”选项) 我通过以下方法解决了这个问题: https://enarion.net/programming/eclipse-change-general-to-java-project/基本上,关闭项目,编辑.project文件,然后在现有的nature中添加 <nature>org.eclipse.jdt.core.javanature</nature> - undefined
显示剩余2条评论

62

Eclipse会从“raw”文件夹路径中过滤掉被标记为源的文件夹。也就是说,它们只作为源文件夹可见:

示例项目

如果你在这两个地方都看不到它们,则:

  • 要么在设置中被过滤掉了:检查您的Package Explorer设置(Package Explorer栏,向下的菜单箭头->Filters...
  • 要么是在外部创建的,Eclipse没有注意到它们:在这种情况下,请刷新您的项目。
  • 要么它们不存在:右键单击项目,在弹出的菜单中选择New->Folder并输入路径,例如src/test/java不是“Source Folder”)。在使用Maven->Update Project...更新项目后,它们将自动添加为源文件夹,前提是您有默认配置。

现在,正如我所说的,如果您保留了POM中的默认配置,这些文件夹将仅用作源。如果您定义了其他resources和/或testResources,则会使用它们。总的来说,Eclipse m2e会将Eclipse的项目源文件夹配置与POM中的内容同步。

编辑:也许这不太清楚 - 看到那些顶部的文件夹了吗?标有/-分隔路径的文件夹?这些是您的文件夹。这些是您期望在maintest中找到的相同文件夹,只是以不同的方式表示


1
@Seba:你刷新了项目吗? - mikołak
2
是的,似乎Project Explorer视图表现出了我想要的方式。 - Sebastian Dusza
1
@Seba:当然可以,但从长远来看,这只是一个权宜之计——它显示了比通常需要的更多的东西。如果你对此满意,那就好,否则你能否编辑你的Package Explorer视图+Filters视图+SpringSource->全局首选项视图的截图? - mikołak
1
@Seba:如果我成功解决了你的问题,你可以感谢我;)。 - mikołak
1
@Seba:嗯,我觉得那看起来没问题。这些节点存在于您的项目顶部作为源文件夹的形式——具体来说就是前四个项目。我的答案解释了为什么是这样的:它们被 Eclipse(正确地)视为源文件夹,并且 Eclipse 将源文件夹显示为项目的直接子节点,带有它们的完整相对路径。您能否澄清您在此设置中发现的具体不正确之处? - mikołak
显示剩余7条评论

22

我曾经遇到过同样的问题,但是通过指向项目使用的正确jre来解决了它。

右键单击项目 属性 Java构建路径 查看所选jre 编辑它 选择备用jre 已安装的jre 选择正确的一个 确定 更改后右键单击项目>maven>更新项目

希望能有所帮助。 附上屏幕截图。输入图片描述


3
我遇到了这个问题,它指向JRE 1.5。当我将其更改为JRE 1.8,并更新Maven项目时,文件夹会自动创建。谢谢。 - srinivas

15

如果您正在寻找一种简单/更快的方法,您可以使用以下解决方案。

  1. 右键单击您的项目
  2. 进入 > 构建路径 > 配置构建路径 > Java构建路径
  3. 进入 '' 选项卡,在那里,您可以看到类似于 <<your_project_name>>/src/main/java(missing)
  4. 点击它并删除。
  5. 点击 应用和关闭
  6. 现在,右键单击项目和 >新建 > 源文件夹 > 添加源文件夹 "src/main/java"

愉快的学习,不要忘记点赞 :)


11

我遇到了同样的问题,我将我的Eclipse项目视图从“包资源管理器”更改为“项目资源管理器”。


这正是我想要的东西。 - Ransike Randeni

5

尝试了两个小时之后...

只需要点击 window -> show view -> project explorer 在项目浏览器中,您可以查看所有文件的解决方案


很好的一行代码,尽可能简单。我是一名有10年经验的Java开发人员,但仍然会忘记在包资源管理器和项目资源管理器之间切换。欢迎加入Stackoverflow社区! - Levent Divilioglu

3

导航 > 显示 > 包资源管理器


3
当我从Github的仓库中在Eclipse上检出一个Web项目时,遇到了类似的问题。在“Package Explorer”中,src/main/java直接位于项目根目录下。我期望src/main/java在“Java Resources”源文件夹中可见。为此,我做了以下几件事情:
  1. 右键单击项目 > 构建路径 > 配置构建路径..
  2. 选择过滤器“Java Build Path”,并单击选项卡“Libraries”验证您的“JRE System Library”。如果它没有指向您最新的JDK,则可以单击“Edit”按钮,并按照随后的对话框来选择系统中最合适的JDK主目录。
  3. 完成后,单击应用,应用和关闭,完成以关闭当前过滤器下的所有相关打开框。
  4. 选择过滤器“Java Compiler”,确保您的JDK兼容性指向正确的JDK。单击应用。
  5. 选择过滤器“Project Facets”。确保Java和Dynamic Web Module都选择了正确的版本。
  6. 单击应用和关闭。
  7. 当在项目资源管理器中查看时,“Java Resources”源文件夹将包含src/main/java。

2

右键Maven项目 -> Build Path -> Configure Build Path 进入Order and Export选项卡, 你会看到消息提示“2个构建路径条目缺失” 现在选择'JRE System Library'和'Maven Dependencies'复选框 点击“确定”


2
我通过以下步骤解决了这个问题:
右键单击Maven项目->构建路径->配置构建路径 在“顺序和导出”选项卡中,您可以看到消息:“缺少2个构建路径条目” 现在选择“JRE系统库”和“Maven依赖项”复选框 点击确定 现在您可以在所有类型的资源管理器(包括包、项目或导航器)中看到下面的内容。

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