Eclipse 中 Maven 项目的类路径 - src 与 src/main/java

Classpath for Maven project in Eclipse - src vs src/main/java

我正在尝试将 commons-logging.properties 添加到要由 commons-logging.1.1.3.jar 选择的类路径中,它默认使用 JDK14Logger,然后打印 DEBUG 日志。

当我在 /src 文件夹下添加它时(一个普通的 Java 项目),它在 运行 As -> Java Application 时被拾取。

但是,对于 Maven 项目,我尝试将此文件放在项目根目录下的不同位置 "src/main/java"、"src/main/resources"。 运行 As -> Java Application.

时未考虑

仅当通过如下所示的 VM 参数明确指定时,才会选取日志配置文件:

-Djava.util.logging.config.file=C:\ws-learning\spring-tutorial-5\commons-logging.properties

maven 项目的类路径是什么?

我应该把要提取的配置文件放在哪里?

为什么 src/ 和 src/main/java 在类路径方面的行为不同?

更新:

只打印"INFO"级消息。我没有看到 "FINE" 级消息

handlers=java.util.logging.ConsoleHandler,java.util.logging.FileHandler
.level=SEVERE
org.springframework.level=FINE

java.util.logging.ConsoleHandler.level=ALL

java.util.logging.FileHandler.level=FINE

java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

更新 2:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

首先,确保安装了 Eclipse 的 Maven 集成。然后右键单击您的 apache-common-java-logging-root 项目 > 配置 > 配置为 Maven 项目。

一旦您的项目启用了 Maven,任何时候如果您认为 Eclipse IDE 与 Maven 设置不同,请右键单击项目 > Maven > Update Project... > 勾选Update project configuration from pom.xml > OK

我的错。正如@mm759 所指出的, "src/main/resources" 被拾取了。我对日志记录的工作方式感到困惑。

"java.util.logging.config.file=" 应作为 VM 参数存在或存在于 .properties 文件中。