IntelliJ IDEA 在 maven 构建后找不到 log4j2.xml



我有一个Maven项目,其中log4j2(2.9.0)和 /src/main/java/resources/log4j2.xml中的配置文件。只要我留在Intellij,它可以正常工作,并且像配置一样记录。

如果我现在在终端中制作mvn clean install(Ubuntu 14),然后在Intellij中启动程序的主要方法,我将遇到一个错误,它将找不到Log4j2配置文件:

错误状态记录器未找到log4j2配置文件。使用默认值 配置:仅记录到控制台的错误。设置系统属性 'log4j2.debug'显示log4j2内部初始化记录。

一旦我在Intellij Idea中制作Build -> Rebuild Project,它将再次起作用。

我不太了解外部Maven构建如何使Intellij Idea混淆以不在本地源代码中使用.xml。

有什么想法?

我找到了解决方案。

Intellij将每个默认的资源复制到/target/class,这是Intellij实际从中获取log4j2.xml的地方。我的Maven Build并没有这样做,Intellij没有重建项目,因此找不到Log4j2.xml

我的解决方案是将log4j2.xml放在POM的资源部分中:

    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <targetPath>${project.build.directory}/classes</targetPath>
            <includes>
                <include>**/log4j2.xml</include>
            </includes>
        </resource>
    </resources>

最新更新