在类路径上检测到 log4j-over-slf4j.jar 和 slf4j-log4j12.jar,抢占 StackOverflowError。

2022-08-31 15:14:39

我在我的项目中使用对来自.我也曾经支持过日志记录结束。xuggle librarymp4 to flvslf4j libraries

import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaViewer;
import com.xuggle.mediatool.IMediaWriter;
import com.xuggle.mediatool.ToolFactory;

public class TranscodingExample {

    private static final String inputFilename = "E:\\VIDEO\\Facebook.mp4";
    private static final String outputFilename = "E:\\VIDEO\\Facebook.flv";

    public static void main(String[] args) {

        // create a media reader
        IMediaReader mediaReader = 
               ToolFactory.makeReader(inputFilename);

        // create a media writer
        IMediaWriter mediaWriter = 
               ToolFactory.makeWriter(outputFilename, mediaReader);

        // add a writer to the reader, to create the output file
        mediaReader.addListener(mediaWriter);

        // create a media viewer with stats enabled
        IMediaViewer mediaViewer = ToolFactory.makeViewer(true);

        // add a viewer to the reader, to see the decoded media
        mediaReader.addListener(mediaViewer);

        // read and decode packets from the source file and
        // and dispatch decoded audio and video to the writer
        while (mediaReader.readPacket() == null) ;

    }

}

在这里,我收到一个错误

"Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.". 

我使用这两个jar文件作为库来解决日志记录问题。有没有人遇到同样的问题。如果是这样,请写建议或解决方案,以摆脱这种混乱。提前致谢。


答案 1

因此,您必须排除冲突依赖项。试试这个:

<exclusions>
  <exclusion> 
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
  </exclusion>
  <exclusion> 
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
  </exclusion>
</exclusions> 

这解决了slf4j和Dozer的相同问题。


答案 2

遇到类似的错误,我是这样解决的:

  1. 访问 Netbeans IDE 8.2 上的“项目资源管理器”视图。在“依赖项”下继续执行项目,将光标悬停在 log4j-over-slf4j 上.jar以查看哪些依赖项间接导入,如下所示。enter image description here

  2. 右键单击导入 jar 文件,然后选择排除依赖项enter image description here

  3. 要进行确认,请打开您的pom.xml文件,您会注意到排除元素,如下所示。

enter image description here4. 启动 maven 全新安装并运行项目。祝你好运!


推荐