为什么图书馆看不到它在资源目录外的资源?

时间:2015-08-17 20:39:20

标签: java maven intellij-idea classpath

我怀疑这个问题不依赖于库,但提供了一些细节:logback是一个日志库,由logback.xml文件配置,该文件位于classpath'根。

最近我发现,如果它位于resources目录之外,则会被忽略:

enter image description here

如果我将它放入resources目录,那么库可以看到它:

enter image description here

如何配置?

IDE是IntelliJ,目录结构是Maven的。

java不应该看到不同类路径根中的任何并行位置没有区别吗?

更新

以下在Eclipse中运行良好:

enter image description here

1 个答案:

答案 0 :(得分:2)

src/main/java不是类路径根。 Maven将编译此目录下的任何*.java文件,并将编译后的类放在输出目录中。

logback.xml下面的任何非类文件(例如src/main/java)将被忽略。但是当置于src/main/resources以下时,它也将被复制到输出目录。

当您运行应用程序时,输出目录将是一个类路径根目录,并且根据您放置logback.xml的位置,它将可用或不可用。