剥离的JAR(方法没有字节码)是什么意思?

Mer*_*glu 6 java debugging java-ee

我正在努力寻找一个奇怪的JSF错误的原因.为此,我尝试调试javaee-web-api模块中的源代码,其中NullPointerException在JSF渲染期间抛出a .但我被卡住了,因为调试器没有显示该位置的源代码.

有一个讨论主题说javaee-web-api被剥离(没有方法的字节码)并且只能用于编译.

这是什么意思?有人可以更详细地解释一下吗?我想了解为什么我无法调试抛出NullPointerException的位置.我认为这与这些JAR被剥夺的事实有关.

Ian*_*man 2

通常,jar 文件中的类文件将包含与类中代码相关的行号信息 - 这称为调试信息。剥离的罐子根本不具有此信息。

您认为这就是问题所在是正确的。您看到的堆栈跟踪不会包含与剥离的 jar 中的代码相关的任何行号。由于该 jar 是由第三方提供的,因此您无法获取该信息。