【问题标题】:Tomcat: JSP fails to recognize my class filesTomcat:JSP 无法识别我的类文件
【发布时间】:2016-07-03 10:41:46
【问题描述】:

总的来说,我对 tomcat 和 JSP 还很陌生,我还搜索了无数其他问题,这些问题似乎有完全相同的问题,但没有一个能解决我的问题。

服务器结构包含(以及其他内容,如 css 文件和其他 html 资源)一个 jsp 文件和一个 java 类:

.../webapps/[appname]/test.jsp
.../webapps/[appname]/WEB-INF/classes/beans/Bean.class

jsp文件包含:

<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%>
<%@ page import = "beans.Bean" %>
<html>
    <head>
        <link href="css.css" rel="stylesheet" type="text/css">
        <title>title</title>
        <meta charset="utf-8">
    </head>
    <body>
        <%= new String((new beans.Bean()).foo())%>
    </body>
</html>

Java 类的源文件如下所示:

package beans;

public class Bean {

    public String foo() {
        return "Success";
    }
}

现在我(重新)启动 tomcat 服务器并使用浏览器访问 jsp 文件并收到以下错误消息:

无法为 JSP 编译类:第 14 行出现错误 生成的java文件只能导入一个类型。 beans.Bean 解析 到一个包

还有:

在 jsp 文件中的第 10 行发生错误:/tilt.jsp beans.Bean 无法解析为类型

通过像这样更改导入:

<%@ page import = "beans.*" %>

然后在重试之前重新启动tomcat, 我可以删除第一个错误,但我的类的类型仍然无法识别。 为了使这个简单的项目顺利进行,我需要做什么?

我相信我正在使用 tomcat7.something 并且类文件是用java jre 7编译的。

【问题讨论】:

  • 更多详情:Tomcat 版本为 7.0.28 Java:JDK1.7_01
  • 好吧,你的应用看起来还不错,你能关闭tomcat,去&lt;tomcat-path&gt;/work/Catalina/localhost/并删除有你[appname]的目录,然后启动tomcat并尝试打开那个页面,(这就像一个清理过程)用于与您的应用相关的文件
  • 我已按照您的指示进行操作,但是 tomcat 的行为并没有什么不同。这是一个奇怪的问题。昨天一切正常。
  • Arrrgh,难怪它不起作用。我想我找到了我的问题。请在下面查看我自己的答案。这很尴尬。

标签: java jsp tomcat


【解决方案1】:

好的,这几乎是令人尴尬的愚蠢。 我在我的问题中发布的设置工作得非常好,就像它一样。 我不小心跳过了创建应该是 beans/Bean 的类文件夹。 (换句话说,我要求人们找出一个根本没有的错误。我只是犯了一个小错误。)

基本上我有以下设置:

.../webapps/[appname]/WEB-INF/beans/Bean.class

而不是这个:

.../webapps/[appname]/WEB-INF/classes/beans/Bean.class

感谢 Yazan、Elyas 和所有试图帮助我的人!

【讨论】:

  • 碰巧,有一段时间,我从你的问题中学到了一些东西,快乐编码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多