Java项目与Maven项目(Eclipse)的区别,需要澄清目录结构。

9
当我在Eclipse中创建一个新的Maven项目时,目录结构包含src/main/javasrc/main(如下所示)
问题: 我知道我的代码应该放在src/main/java下,那么src/main的目的是什么?为什么Eclipse会创建它? enter image description here

4
你如何期望 src/main/java 存在,而没有 src/main 呢? - Manoj
Eclipse让人感到困惑...一个是“源文件夹”,另一个是“文件夹”。 - James Raitsev
@Manoj,这个问题很清晰,是一个合法的问题。 - Bernardo Dal Corno
3个回答

10

src/main/java 是Maven用于放置Java源代码的标准布局。

请查看http://java.sg/maven-standard-directory-layout/,以获取标准的Maven目录列表。

src/main/java       Application/Library sources
src/main/resources  Application/Library resources
src/main/filters    Resource filter files
src/main/assembly   Assembly descriptors
src/main/config     Configuration files
src/main/webapp     Web application sources
src/test/java       Test sources
src/test/resources  Test resources
src/test/filters    Test resource filter files
src/site        Site
LICENSE.txt     Project's license
NOTICE.txt      Notices and attributions required by libraries that the project depends on
README.txt      Project's readme

如果这是Maven的标准设置(当然,你是正确的),那么为什么我们还要在Eclipse中单独查看src/main/java和src/main文件夹呢?这很不方便,也浪费空间。 - Gangnus

7

若要存在src/main/java,则必须首先存在src/main/,因此eclipse会显示您项目中的所有文件夹,包括src/main/。

如果您想从“包资源管理器”视图中删除它们,可以为该视图创建一个筛选器并排除非Java元素

在“包资源管理器”视图右上角寻找向下箭头以获取筛选器选项。


好的,现在明白了。看到“源文件夹”和“文件夹”有相同的名称,感觉有点奇怪,因为Eclipse显示它。 - James Raitsev

3
您可以在 src/main 下创建其他非源文件的子目录。 如果您查看 Maven 文档,您需要在 src/main/resources 下拥有资源文件。 显然,父目录 src/main 需要被创建以创建子目录。

为什么我们要看它?顺便说一下,如果你打开它,它是空的。 - Gangnus

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