Java Project Maven从依赖项复制了log4j.xml

Java Project Maven从依赖项复制了log4j.xml,java,xml,eclipse,maven,logging,Java,Xml,Eclipse,Maven,Logging,我有一个Maven项目,它依赖于一个主要项目。其中一个依赖项将log4j.xml文件插入到从构建派生的最终jar中。我已经从我的项目中删除了所有重复的依赖项,并手动插入了不是从任何其他依赖项派生的log4j。但是它没有工作,另一个log4j文件仍然导入 我想知道如何停止导入这个log4j.xml文件,只从次要项目的src/main/resources获取log4j 我在参考资料中只有一个log4j.xml,没有其他配置文件 <?xml version="1.0" encoding="UTF

我有一个Maven项目,它依赖于一个主要项目。其中一个依赖项将log4j.xml文件插入到从构建派生的最终jar中。我已经从我的项目中删除了所有重复的依赖项,并手动插入了不是从任何其他依赖项派生的log4j。但是它没有工作,另一个log4j文件仍然导入 我想知道如何停止导入这个log4j.xml文件,只从次要项目的src/main/resources获取log4j

我在参考资料中只有一个log4j.xml,没有其他配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<!-- ===================================================================== -->
<!-- Log4j Configuration -->
<!-- Created by Ant. Base file: log4j.xml.unparsed -->
<!-- ===================================================================== -->


<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
    debug="false">

    <!-- ================================= -->
    <!-- Preserve messages in a local file -->
    <!-- ================================= -->

    <!-- A size based rolling appender -->
    <appender name="FILEZEUS" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="log/Generate_Curve.log" />
        <param name="MaxFileSize" value="10MB" />
        <param name="MaxBackupIndex" value="20" />
        <param name="Append" value="true" />
        <param name="Threshold" value="DEBUG" />
        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d %-5p [%c] %m%n" />

            <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n 
                <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/> -->
        </layout>
    </appender>

    <!-- ============================== -->
    <!-- Append messages to the console -->
    <!-- ============================== -->

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <param name="Threshold" value="DEBUG" />
        <param name="Target" value="System.out" />

        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n" />
        </layout>
    </appender>

    <logger name="org.apache">
        <level value="WARN" />
    </logger>


    <!-- ======================= -->
    <!-- Setup the Root category -->
    <!-- ======================= -->
    <root>
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILEZEUS" />
    </root>


</log4j:configuration>

这个问题还不清楚,但若您想从资源中加载任何文件,那个么这段代码将对您有所帮助

import java.io.InputStream;

public final class ResourceLoader {

public static  InputStream load(String fileName){

    InputStream input = ResourceLoader.class.getResourceAsStream(fileName);

      if(input==null){
        input = ResourceLoader.class.getResourceAsStream("/"+fileName);
     }
    return input;   
   }
}

我有多个项目依赖项,其中之一是在最后一个jar中插入一个log4j配置文件inside,并订阅我的资源jar。Log4j自动读取Log4j.xmlor属性文件不需要读取资源文件,但在您为从资源文件夹获取log4jproperties文件而编写的最后一行中