只能导入一种类型。 ABC解析为一个包

(我已经阅读了关于这个主题的其他问题,但没有一个有帮助)

好的,我正在尝试将Java类导入到我的JSP文件中,但Tomcat给了我错误:

org.apache.jasper.JasperException:无法编译JSP的类:

An error occurred at line: [16] in the generated java file: [I:\path\to\index_jsp.java] Only a type can be imported. org.runas.XKCDUtils resolves to a package An error occurred at line: 7 in the jsp file: /index.jsp XKCDUtils cannot be resolved 
 4: String data = null; 5: int finalComic = 1; 6: int comicNo = 1; 7: finalComic = XKCDUtils.getFinalComic(); 8: 9: if (request.getParameter("page") != null) 10: comicNo = Integer.parseInt(request.getParameter("page")); 

我的JSP文件中的import语句是:

  

我的目录结构的相关部分是:

 webapps `-ROOT `-index.jsp |-WEB-INF `-web.xml |-classes `-org `-runas `-XKCDUtils.class 

我很困惑,因为org.runas.XKCDUtils resolves to a package ,但它显然是一个类文件,我认为是正确的目录。

请帮助!

(并且不要惩罚我使用scriptlet,我正在尝试清理它们!)

好的,这很奇怪。 我将导入分为三个导入,

 <%@page import="java.io.*" %> <%@page import="java.net.*" %> <%@page import="org.runas.XKCDUtils" %> 

它神奇地决定工作。 然后当我改变import时,

 <%@page import="java.io.*, java.net.*, org.runas.XKCDUtils" %> 

它神奇地决定继续工作。

也许它与重启Tomcat有关? 好吧,无论如何它现在都有效。

我有同样的问题; 通过停止服务器(在我的情况下为Tomcat)并重建项目来解决。

我不知道究竟是什么导致了错误,但我改变了

 <%@page import="java.io.*, java.net.*, org.runas.XKCDUtils" %> 

 <%@page import="java.io.*, java.net.*, org.runas.*" %> 

它工作。 我对错误的解释是,由于某种原因,Tomcat认为XKCDUtils是一个包,而不是包中的类。 使用*导入然后明确表示它正在导入类。