在打包的maven jar中找不到log4j.properties

在打包的maven jar中找不到log4j.properties,maven,log4j,Maven,Log4j,我很难让log4j与我的小maven项目一起工作。在Eclipse中运行该程序不会产生任何错误,而且日志记录工作得很好。 但是,当我将项目打包到jar中时,会收到以下警告: log4j:WARN No appenders could be found for logger (org.openrdf.sail.memory.MemoryStore). log4j:WARN Please initialize the log4j system properly. log4j:WARN See htt

我很难让log4j与我的小maven项目一起工作。在Eclipse中运行该程序不会产生任何错误,而且日志记录工作得很好。 但是,当我将项目打包到jar中时,会收到以下警告:

log4j:WARN No appenders could be found for logger (org.openrdf.sail.memory.MemoryStore).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
log4j.properties文件打包到我的jar中,它位于项目的src/main/resources中。我读了日志和log4j网站的配置部分,但还是搞不懂。我已经上传了我的POM。 我非常感谢任何可能帮助我解决问题的提示。

标记下添加
标记。通过这样做,我们可以说,如果指定的路径不是默认构建,那么它将从指定路径获取资源

<resources>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>    

src/main/resources

正如警告消息所说,它找不到记录器的appender
org.openrdf.sail.memory.MemoryStore
。因此,请确保在
src/main/resources
中确实有
log4j.properties
文件,然后确保按照您的设想将其打包到
jar
中。也许出于某种原因,我真的看不见,它没有包装。你知道,狗屎有时候会发生。。。如果在
jar
中有这样的文件,请确保最后配置了处理
org.openrdf.sail.memory.MemoryStore
记录器的appender


检查此log4j配置是否有效的最简单方法可能是为
log4j.rootLogger
设置默认控制台appender。这样做,然后写下那里发生的事情。

您似乎在用它的依赖项组装jar。如果这些罐子也包含log4j.properties,并且是在骑着你的罐子时捡到的,这可能会导致问题。因此,它找不到类
org.openrdf.sail.memory.MemoryStore
的记录器


最好只使用一个日志文件,其中包含jar的日志信息和所有依赖项。这只是复制和粘贴的问题。它还可以控制依赖类的日志记录级别

请注意log4j.properties是区分大小写的

您是否检查过jar中是否包含log4j.property文件的内容?请向我们展示源代码的目录结构、jar中的目录结构和pom.xml。我不同意。这是Maven尝试从中复制资源(如果目录存在)的默认位置,即使您没有指定它。定义这一点不是强制性的,除非您必须为您的资源使用多个位置。你通常可以跳过这个。这同样适用于