我正在努力寻找奇怪的JSF错误的cause。为此,我尝试调试javaee-web-api模块内的源代码,该模块在JSF渲染期间会抛出NullPointerException
。但是我被困住了,因为调试器没有向我显示该位置的源代码。
有一个discussion thread表示javaee-web-api被剥离(方法没有字节码),只能用于编译。
这是什么意思?有人可以详细解释吗?我想了解为什么我不能调试抛出NullPointerException的位置。我认为这与这些JAR被剥离的事实有关。
最佳答案
通常,jar文件中的类文件将包含与类中的代码相关的行号信息-这称为调试信息。剥离的 jar 根本没有此信息。
您假设这是问题是正确的。您看到的堆栈跟踪将不包含与剥离后的jar中的代码相关的任何行号。由于jar是由第三方提供的,因此您无法采取任何措施来获取该信息。
关于java - 剥离的JAR(方法没有字节码)是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17575195/