Cannot resolve method 'print(java.lang.String)解决方法
问题描述
在jsp中我使用了这样的语句
<html>
<body>
<h2>Hello World!</h2>
<%
out.print("hello sk1y");
%>
</body>
</html>
但是out.print中的print是红色的,且提示我Cannot resolve method 'print(java.lang.String)' 但是我跑这个程序的时候,没问题,仍然能够显示出hello sk1y
尝试但无用的解决方法
1. 导入tomcat
File->Project Structure->Modules->Dependencies,点击+ 选择library->选择tomcat 但是没用
2. 清除缓存
File->Invalidate Caches/Restart
无果
最后的解决方法
导入两个包,jsp-api.jar ,servlet-api.jar file->project strcture
去找这两个包 目录是tomcat->lib
导入成功之后,可能需要重启(或者不需要,记不大清除了) 如图,解决
一点收获吧
自己查资料,刚开始很多都是清除缓存,或者导入tomcat,但是这个东西一开始就方向有点问题,很有可能是其他人也碰到了Cannot resolve method ‘print(java.lang.String)‘ ,然后他们用这个方法成功了
但是我的问题是jsp文件中使用out.print()函数出问题,是个具体的问题,我按照这个jspxxxx问题 就很快查到了这个解决方法
后续测试
但是jsp-api.jar ,servlet-api.jar 这俩也是在tomcat里面lib 目录下的,所以为什么idea没有识别出来呢? 所以如果我直接导入tomcat->lib,结果会怎样呢?
选择java,然后选择对应文件夹,tomcat->lib,导入成功后,发现问题也是成功解决了
后来我发现问题的所在了,我导入tomcat的时候,右键->edit,里面是空的
我们点击+,然后选择tomcat里面的lib文件夹,
可以看到,有了对应的依赖包,out.print正常执行
这波属实是自己憨批了,导入tomcat,但是当时瞎搞,把里面的依赖包都- (删除)了,相当于导入了tomcat空文件夹(之后就把这个事情忘记了,┭┮﹏┭┮),所以如果正常导入library,选择tomcat即可(里面由选定对应的包);当然也可以直接导入需要的依赖包
|