我正在使用log4j与Maven面临问题.我有一个属性文件,即log4j.properties我将该文件放在pom.xml存储项目的同一路径上.
的pom.xml
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我在我的代码中使用log4j,它位于test文件夹下.
码
package com.paras.automationtest;
import org.apache.log4j.*;
import org.junit.Test;
public class AppTest
{
@Test
public void testLogger(){
//PropertyConfigurator.configure("C:\\Users\\Desktop\\AutomationTest\\log4j.properties");
Logger log = Logger.getLogger("parasLogger");
log.debug("Hello, World!");
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道,maven如何识别log4j.properties文件所在的位置?
在上面的场景中,如果我运行该命令mvn test会发出警告,请查看下面的屏幕截图以获取警告消息.

所以作为一种解决方法,我在我的代码中提供了log4j.properties的完整路径.我用过以下行:
PropertyConfigurator.configure("C:\\Users\\Desktop\\AutomationTest\\log4j.properties")
Run Code Online (Sandbox Code Playgroud)
是否有必要使用上面的代码行,或者是否有maven查找log4j.properties文件的特定目录?
Aar*_*lla 10
该文件需要进入src/main/resources/或src/test/resources/(如果您只需要进行单元测试).
更长的解释:Maven将Java类路径拆分为源代码和资源(非Java事物,如属性文件,图像等).这样做的主要原因是Maven可以为您过滤资源并使其更加安全,他们将资源放入与源不同的文件夹中.
| 归档时间: |
|
| 查看次数: |
8617 次 |
| 最近记录: |