我正在尝试在我的Ant build.xml中使用log4j2来创建可执行文件.jar。 jar工作正常,但似乎无法识别log4j2.xml。我目前在src文件夹下有该文件。并在我的build.xml中设置classpath,如下所示。这适用于我的所有项目。放入log4j2.xml的正确目录是什么?除了将它添加到build.xml中的classpath之外还有其他的东西吗?
<path id = "classpath">
<pathelement location="${junitJar}/junit-4.11.jar"/>
<pathelement location="${junitJar}/hamcrest-core-1.3.jar" />
<pathelement location="${classes.dir}"/>
<pathelement location="${log4jJar}/log4j-api-2.1.jar" />
<pathelement location="${log4jJar}/log4j-core-2.1.jar" />
<pathelement location="${src.dir}/log4j2.xml" />
</path>
compile:
jar:
run:
[java] ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
[java] Hello World!
main:
BUILD SUCCESSFUL
Total time: 1 second
答案 0 :(得分:1)
将最后一个元素更改为:
<pathelement location="${src.dir}/" />
会起作用,但实际上你应该把这个文件放在其他地方。
在ant构建中,将这些文件复制到classes目录中是正常的,因此它会包含在jar文件中。