转:class cannot be resolved to a type 或者JSP import class cannot be resolved to

本文解析了classcannotberesolvedtoatype错误的原因及解决方法,通常由类引用二义性引起,例如包名与类名冲突。通过调整Eclipse与Tomcat的classpath配置,确保正确加载类。

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

错误调试解析:class cannot be resolved to a type 或者JSP import class cannot be resolved to a type

import XXX.XXX cannot be resolved to a type , import XXX.XXX cannot be resolved错误处理解析

类的引用不可定义为一种。

出现这种问题的情况一般是你的引用出现了二义性。

比如你引用了classes.pack.num1,但是你同时在根文件夹下有一个classes的文件夹,和把此classes文件打包成的jar包,又或者你的classpath环境变量配置的过程中同时出现了路径"."和“XXX.jar”而有两个同名同路径的.class文件可以被找到,就会引发此问题。

很多时候用vi编辑.java文件的时候,默认使用的编译存放路径是".",就是说同目录下。

eclipse工程中默认.java文件的位置是src,编译文件.class的位置是classes,这种情况下, 使用手动测试的时候会出现在src的文件夹下也会生成出.class文件,如果系统环境变量中有classpath="."的定义时,再次使用eclipse编译时,就会出现class cannot be resolved to a type,因为同时可以找到两个同名同路径的.class文件。

JSP impot class cannot be resolved to a type我的问题出在eclipse编译时把.class文件放在了classes文件夹下,但是tomcat去找的时候,只找了"."文件夹,结果就找不到。而在编写的时候,eclipse是能找到的,所以编写时不报错,运行时报错。如果你在.文件夹下也生成.class文件,tomcat能找到了,eclipse又找重了,还是不行。

我的解决办法是,在tomcat启动时,为tomcat添加引用路径,先把classes文件夹导入到JVM中。tomcat在调用类的时候,就不会找不到了。

具体操作方法是,使用eclipse的tomcat插件,在eclipse的主界面菜单window下的preferences对话框中找到tomcat插件的那一项,选择JVMsetting,有一个classpath(before generated classpath)中,导入你的classes文件夹。就可解决此问题。

相同的,如果tomcat运行时出现了找不到引用的jar包,也可以在这里设置导入。


[color=red][b]结合我自己的jsp出现的问题,因为包结构里的一个包名和同目录里的一个类名名称相同,出现这个异常[/b][/color]
org.apache.jasper.JasperException: 无法为JSP编译类: JSP文件:[/book/5/5_2.jsp] 的第 [15] 行发生了一个错误 userInfo cannot be resolved to a type 12: </head> 13: <body> 14: <%--导入java类,python的import?--%> 15: <jsp:useBean id="user" class="userInfo" scope="page"/> 16: 17: <jsp:setProperty name="user" property="userName" value="ws"/> 18: <jsp:setProperty name="user" property="userPassword" value="13546"/> JSP文件:[/book/5/5_2.jsp] 的第 [15] 行发生了一个错误 userInfo cannot be resolved to a type 12: </head> 13: <body> 14: <%--导入java类,python的import?--%> 15: <jsp:useBean id="user" class="userInfo" scope="page"/> 16: 17: <jsp:setProperty name="user" property="userName" value="ws"/> 18: <jsp:setProperty name="user" property="userPassword" value="13546"/> JSP文件:[/book/5/5_2.jsp] 的第 [15] 行发生了一个错误 userInfo cannot be resolved to a type 12: </head> 13: <body> 14: <%--导入java类,python的import?--%> 15: <jsp:useBean id="user" class="userInfo" scope="page"/> 16: 17: <jsp:setProperty name="user" property="userName" value="ws"/> 18: <jsp:setProperty name="user" property="userPassword" value="13546"/> JSP文件:[/book/5/5_2.jsp] 的第 [24] 行发生了一个错误 userInfo cannot be resolved to a type 21: <jsp:setProperty name="user" property="address" value="广东广州"/> 22: <h2>显示用户信息</h2> 23: <table> 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> JSP文件:[/book/5/5_2.jsp] 的第 [24] 行发生了一个错误 userInfo cannot be resolved to a type 21: <jsp:setProperty name="user" property="address" value="广东广州"/> 22: <h2>显示用户信息</h2> 23: <table> 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> JSP文件:[/book/5/5_2.jsp] 的第 [25] 行发生了一个错误 userInfo cannot be resolved to a type 22: <h2>显示用户信息</h2> 23: <table> 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> JSP文件:[/book/5/5_2.jsp] 的第 [25] 行发生了一个错误 userInfo cannot be resolved to a type 22: <h2>显示用户信息</h2> 23: <table> 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> JSP文件:[/book/5/5_2.jsp] 的第 [26] 行发生了一个错误 userInfo cannot be resolved to a type 23: <table> 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> 29: </table> JSP文件:[/book/5/5_2.jsp] 的第 [26] 行发生了一个错误 userInfo cannot be resolved to a type 23: <table> 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> 29: </table> JSP文件:[/book/5/5_2.jsp] 的第 [27] 行发生了一个错误 userInfo cannot be resolved to a type 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> 29: </table> 30: </body> JSP文件:[/book/5/5_2.jsp] 的第 [27] 行发生了一个错误 userInfo cannot be resolved to a type 24: <tr><td>用户名</td><td><jsp:getProperty name="user" property="userName"/></td></tr> 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> 29: </table> 30: </body> JSP文件:[/book/5/5_2.jsp] 的第 [28] 行发生了一个错误 userInfo cannot be resolved to a type 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> 29: </table> 30: </body> 31: </html> JSP文件:[/book/5/5_2.jsp] 的第 [28] 行发生了一个错误 userInfo cannot be resolved to a type 25: <tr><td>密码</td><td><jsp:getProperty name="user" property="userPassword"/></td></tr> 26: <tr><td>性别</td><td><jsp:getProperty name="user" property="sex"/></td></tr> 27: <tr><td>年龄</td><td><jsp:getProperty name="user" property="age"/></td></tr> 28: <tr><td>地址</td><td><jsp:getProperty name="user" property="address"/></td></tr> 29: </table> 30: </body> 31: </html> Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:72) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:192) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:524) org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) org.apache.jasper.compiler.Compiler.compile(Compiler.java:345) org.apache.jasper.compiler.Compiler.compile(Compiler.java:331) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:396) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:377) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:325) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)这是什么问题?
最新发布
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值