我有一个log4j2.xml文件,Ant的build.xml没有选择该文件。因此,我在Eclipse控制台中不断收到以下错误消息 -
错误StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台。
我的build.xml文件非常简单。 (粘贴在下面)我从网上的一个例子中复制了它
我已经浏览了ant文档并且知道了这些并且我已经使用它们在classpath中设置了log4j2.xml并且失败了。
<project name="Learning" default="hello" basedir=".">
<property name="src.dir" value="src"/>
<property name="lib.dir" value="${src.dir}/lib"/>
<property name="build.dir" value="build"/>
<target name="hello">
<!-- compile just the basic hello files -->
<echo> This will have all the basic builds </echo>
<javac srcdir="{src.dir}" destdir="{build.dir}"
includeantruntime="false"/>
</target>
您能否给我一个代码片段,将我在 basedir 中的 Log4j2.xml 文件或项目添加到类路径中?
答案 0 :(得分:2)
不幸的是,javac不复制资源(该目录仅包含已编译的类)。但是,您可以复制它们。 e.g:
<project name="Learning" default="hello" basedir=".">
<property name="src.dir" value="src"/>
<property name="lib.dir" value="${src.dir}/lib"/>
<property name="build.dir" value="build"/>
<target name="hello">
<echo>Copy non-java resources</echo>
<copy todir="{build.dir}" overwrite="true">
<fileset dir="{src.dir}" excludes="**/*.java"/>
</copy>
<!-- compile just the basic hello files -->
<echo> This will have all the basic builds </echo>
<javac srcdir="{src.dir}" destdir="{build.dir}"
includeantruntime="false"/>
</target>
在Copy Task中查看更多内容。