11

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

好的,我正在尝试将 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 文件中的导入语句是:

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

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

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

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

请帮忙!

(不要因为我使用脚本而责备我,我正在尝试清理它们!)

4

3 回答 3

7

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

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

它神奇地决定起作用。然后当我把进口改回来时,

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

它神奇地决定继续工作。

也许它与重新启动Tomcat有关?好吧,无论如何,它现在可以工作了。

于 2013-04-12T07:17:00.540 回答
3

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

于 2013-12-23T11:25:57.823 回答
2

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

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

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

它奏效了。我对错误的解释是,由于某种原因,Tomcat 认为 XKCDUtils 是一个包,而不是包中的一个类。使用 * 导入则可以明确表示它正在导入类。

于 2013-07-11T16:10:20.643 回答