2017-08-07 80 views
1

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

我在资源中只有一个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> 

回答

-2

问题仍然不清楚,但如果你想从资源中加载任何文件,那么这段代码将帮助你。

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; 
    } 
} 
+1

的问题不是如何读取文件 –

+0

我有多个项目依赖条件和那些被插入log4j的配置文件insede到我的罐子,subscribring我的资源罐子。 Log4j自动读取log4j.xml(或属性)文件并不需要读取资源文件 –

+0

但是在您写入的最后一行中,从资源文件夹获取log4jproperties文件 –