Java 未能加载类“;org.slf4j.impl.StaticLoggerBinder”的;(并且没有可用的源代码)

Java 未能加载类“;org.slf4j.impl.StaticLoggerBinder”的;(并且没有可用的源代码),java,jar,Java,Jar,我真的被困在这里了 我正在从事的一个项目需要一个Java.jar来与API进行一些接口。问题是,我只有可执行的.jar文件,其他文件不多,但当我试图运行它时,我得到一个错误,这样说 线程“main”java.lang.NoClassDefFoundError中出现异常:org/slf4j/LoggerFactory 所以我用谷歌搜索了一下,大家普遍认为我需要slf4j库。我已经下载了它,在处理了一些类路径和其他东西之后,它终于能够识别出这个库,但仅限于: SLF4J: Failed to loa

我真的被困在这里了

我正在从事的一个项目需要一个Java.jar来与API进行一些接口。问题是,我只有可执行的.jar文件,其他文件不多,但当我试图运行它时,我得到一个错误,这样说

线程“main”java.lang.NoClassDefFoundError中出现异常:org/slf4j/LoggerFactory

所以我用谷歌搜索了一下,大家普遍认为我需要slf4j库。我已经下载了它,在处理了一些类路径和其他东西之后,它终于能够识别出这个库,但仅限于:

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.
Exception in thread "main" java.lang.ExceptionInInitializerError
        at xx.match.b.a.a(Unknown Source)
        at xx.match.box.Main.main(Unknown Source)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -7
        at java.lang.String.substring(String.java:1875)
        at xx.match.b.a.a.<clinit>(Unknown Source)
SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。
SLF4J:默认为无操作(NOP)记录器实现
SLF4J:参见http://www.slf4j.org/codes.html#StaticLoggerBinder 详情请参阅。
线程“main”java.lang.ExceptionInInitializeError中出现异常
xx时匹配b.a.a(未知来源)
在xx.match.box.Main.Main处(未知源)
原因:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-7
位于java.lang.String.substring(String.java:1875)
xx.匹配b.a.a.(未知来源)
按照上面的URL建议,我尝试添加一个slf4j-nop.jar slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar,但没有效果

有没有人知道这里发生了什么,或者在我无法访问相关Java代码的情况下,我接下来应该做什么?这是我试图运行的原始.jar文件中的一个bug,还是我还可以做些什么来实现这一点


(我知道以前有人问过这个问题,但我找不到一个不假定可以访问源代码的答案……如果我错过了,很抱歉)

实际上,与SLF4J相关的消息只是一个警告,表示它无法初始化日志,因此您将不会看到任何与日志相关的内容。但实际的异常是
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-7
由其他一些代码(而不是与slf4j相关的代码)引发。你有没有试着反编译这个罐子并研究一下抛出方法?是联机反编译器之一。请检查StringIndexOutOfBoundsException的来源。我不认为SLF4J在这里有任何作用。原来在原始的.jar文件中有一个更严重的错误导致了这一点。不过,谢谢你的建议。非常感谢。