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 文件中。
我正在尝试将 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 文件中。