【问题标题】:trying to add a new class error : import cannot be resolved尝试添加新类错误:无法解析导入
【发布时间】:2010-11-01 18:32:09
【问题描述】:

我正在尝试向 Tomcat6 中预先存在的 Web 应用程序添加一个新类。

班级是:

public class Hello {
  public static void main(String [] args) {
   System.out.println("HELLLLLLOOOOOOO");
  }
}
  • 我编译了一下,把class文件放到:<WEBAPP>/WEB-INF/classes
  • 重启tomcat 我从与类目录中文件夹中的其他类一起使用的 jsp 中调用它: <%@ page import="Hello" %>

它没有说:

org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 16 in the generated java file The import Hello cannot be resolved

我错过了什么?

我也尝试将其添加到 catalina common/lib 目录,将其放在 tomcat 外部并编辑 catalina.properties 中的 shared.loader 属性。

【问题讨论】:

  • 与问题无关:您是否意识到仅导入类不会调用其main() 方法?另外,我建议在 too late 之前学习 Servlet 和 Javabeans。

标签: jsp classpath tomcat6


【解决方案1】:

把它放在一个包里。

package com.example;

并相应地将其放入类路径中:

/WEB-INF/classes/com/example/Hello.class

最后导入如下:

<%@ page import="com.example.Hello" %>

无包类对于包内的类是不可见/不可导入的。 JSP 文件本身即被隐式转换为特定于 servletcontainer 的包中的 servlet 类。

【讨论】:

  • 非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-11
  • 2014-02-25
  • 2019-12-20
  • 2011-05-18
  • 2014-07-16
相关资源
最近更新 更多