Java 剥离JAR(方法没有字节码)意味着什么?

Java 剥离JAR(方法没有字节码)意味着什么?,java,debugging,jakarta-ee,Java,Debugging,Jakarta Ee,我正在努力寻找一个奇怪的JSF错误的原因。为此,我尝试调试JavaEEWebAPI模块中的源代码,在JSF呈现期间抛出NullPointerException。但我被卡住了,因为调试器没有向我显示该位置的源代码 有一种说法是JavaEEWebAPI被剥离(方法没有字节码),只用于编译 这是什么意思?有人能更详细地解释一下吗?我想了解为什么无法调试引发NullPointerException的位置。我认为这与这些jar被剥离的事实有关。通常情况下,jar文件中的类文件将包含与类中代码相关的行号信息

我正在努力寻找一个奇怪的JSF错误的原因。为此,我尝试调试JavaEEWebAPI模块中的源代码,在JSF呈现期间抛出
NullPointerException
。但我被卡住了,因为调试器没有向我显示该位置的源代码

有一种说法是JavaEEWebAPI被剥离(方法没有字节码),只用于编译


这是什么意思?有人能更详细地解释一下吗?我想了解为什么无法调试引发NullPointerException的位置。我认为这与这些jar被剥离的事实有关。

通常情况下,jar文件中的类文件将包含与类中代码相关的行号信息,这称为调试信息。剥离的jar根本没有这个信息


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

我所能找到的只是这篇文章,它记录了相同的问题,但列出了Oracle出现这种情况的一些原因:“不向我显示该位置的源代码”是什么意思?你是说没有堆栈跟踪,或者没有行号的堆栈跟踪?