Dependencies 为什么我需要在pom文件中添加slf4j作为依赖项来使用ITEXT7API?

Dependencies 为什么我需要在pom文件中添加slf4j作为依赖项来使用ITEXT7API?,dependencies,slf4j,itext7,Dependencies,Slf4j,Itext7,我正在pom文件中使用iText 7内核依赖项。但当我调用任何iText API时,都会出现错误: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further

我正在pom文件中使用iText 7内核依赖项。但当我调用任何iText API时,都会出现错误:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
为了解决这个问题,我需要在pom文件中添加slf4j依赖项


为什么我必须在pom文件中添加itext内部使用的依赖项?itext不应该将slf4j作为依赖项吗?

首先,我不认为这是一个错误。这是信息或警告,但肯定不是错误

其次,slf4j api依赖项已经在类路径上。它是iText的依赖项,当您依赖iText时,它会以传递方式自动添加。如果一开始没有依赖关系,实际上会出现一个错误,比如ClassNotFoundException

您不必添加任何依赖项。添加iText时,所有必需的问题都已通过传递方式得到解决。如果不需要日志记录,您可以忽略此警告,继续使用iText

iText的依赖项是一个用于日志实现的通用API,您可以自由选择是否要将任何日志信息呈现给您,有时那里有非常有用的东西或没有。这种通用API实际上是当今的标准。用户可以自由选择要使用的记录器实现:记录器抑制、打印到控制台、写入到文件等,iText不应负责为库用户决定这一点。您看到的这三行信息只是提示您,iText实际上记录了一些可能对您有用的信息,如果您愿意,您可以设置记录器输出

一些常见的记录器绑定包括:

slf4j-log4j12:log4j版本1.2的绑定 slf4j-jdk14:java.util.logging的绑定 slf4j nop:nop无操作的绑定 slf4j simple:打印到System.err的绑定 slf4j jcl:Jakarta Commons日志的绑定
你可以在

上找到它们。首先,我不认为这是一个错误。这是信息或警告,但肯定不是错误

其次,slf4j api依赖项已经在类路径上。它是iText的依赖项,当您依赖iText时,它会以传递方式自动添加。如果一开始没有依赖关系,实际上会出现一个错误,比如ClassNotFoundException

您不必添加任何依赖项。添加iText时,所有必需的问题都已通过传递方式得到解决。如果不需要日志记录,您可以忽略此警告,继续使用iText

iText的依赖项是一个用于日志实现的通用API,您可以自由选择是否要将任何日志信息呈现给您,有时那里有非常有用的东西或没有。这种通用API实际上是当今的标准。用户可以自由选择要使用的记录器实现:记录器抑制、打印到控制台、写入到文件等,iText不应负责为库用户决定这一点。您看到的这三行信息只是提示您,iText实际上记录了一些可能对您有用的信息,如果您愿意,您可以设置记录器输出

一些常见的记录器绑定包括:

slf4j-log4j12:log4j版本1.2的绑定 slf4j-jdk14:java.util.logging的绑定 slf4j nop:nop无操作的绑定 slf4j simple:打印到System.err的绑定 slf4j jcl:Jakarta Commons日志的绑定 你可以在网上找到它们