IDEA查看org.apache.jasper.runtime.HttpJspBase爆红

文章讨论了在IntelliJIDEA中使用JspWriterImpl时遇到的问题,由于未导入源代码,IDE报红。原因在于Tomcat二进制包不包含源码,需手动下载源码文件。尽管解决了print方法的查看问题,但仍有其他类在相同版本下仍报红。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDEA查看org.apache.jasper.runtime.JspWriterImpl;爆红                                    JspWriter没有print()的实现类。

具体原因是因为没有导入源代码,这个类HttpJspBase是tomcat的类。它属于tomcat容器的api接口类。而为什么我们在idea使用这个类的时候,它会爆红呢?

原因在于我们下载的Tomcat是二进制文件的核心。并没有把相应的源代码也下进去。

然后再IDEA导入tomcat包,同样使用的仍然是二进制的这个包。当我们想要查看对应的源码的时候,就会发现,它对应的源码是一个class文件。

比如,我想使用out.print的方法。然后查看源码的时候,发现它的实现类根本没有print的具体实现类,print是一个抽象的接口方法。导致,在源码的学习的时候,就碰上难题。(明明它都没有对print这个方法进行实现啊,为什么最后它实现了这个方法。通过ctrl+h查看具体的实现类也没有找到对应的关系。)

问题就是因为我们下载的tomcat是一个二进制的包,它对具体的源码实现进行了屏蔽。 

我们把它的源码文件下载下来就好了。

选择方式:

导入成功之后,再去查看,就可以看到实现类的源码:

最后:还是有点问题:导入源代码之后,虽然可以查看print()方法具体实现的源代码,但是,有一些类还是爆红出现,就算使用相同的版本情况下还是如此。留作疑问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值