在Java类路径中,** / * .java是什么意思?

4

今天我在Eclipse文件中的.classpath文件中看到了这行:

<classpathentry kind="src" path="src/main/java" including="**/*.java"/>

我知道*.java代表任何Java文件,但是在它前面的**/是什么意思?它代表包含src/main/java下的所有子文件夹吗?


.classpath文件是Eclipse文件吗?你应该适当地打标签/提及它。 - Daniel Kaplan
3个回答

8

单个星号 () 匹配路径名中零个或多个字符。 双个星号 (**) 跨目录级别匹配零个或多个字符。另一种解释是,双个星号 (**) 匹配斜杠 (/),但单个星号 () 不匹配。

假设我有以下这些类:

1. src/test.java
2. test/src/test.java

好的,*/*.java 只匹配 1 个级别,而 **/*.java 匹配两个级别,因为 ** 可以匹配任意数量的级别。


7

0

这意味着在 src/main/java 目录下的每个子文件夹中,以 .java 结尾的文件都会被包括进来。


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