【问题标题】:Eclipse EE - Why can't the JSP in my web project see a class in my EJB project?Eclipse EE - 为什么我的 Web 项目中的 JSP 看不到我的 EJB 项目中的类?
【发布时间】:2012-05-24 02:27:26
【问题描述】:

我正在使用 Eclipse (Indigo) 和 GlassFish 3.1.2。

我有一个用于 EJB 和 JPA 类的项目,名为 sbwEJBJPA

我有一个 EAR 项目,名为 sbwEAR

我有一个包含 JSP 和 Servlet 的动态 Web 项目,名为 sbw

当我从 EAR 项目中导出 EAR 文件时,EAR 文件同时包含 sbw.war 和 sbwEJBJPA.jar。

我的sbw/WebContent/META-INF/MANIFEST.MF 文件如下所示:

Manifest-Version: 1.0
Class-Path: sbwEJBJPA.jar

问题是,当我运行这个简单的 JSP 文件时:

<%@page import="sbw.domain.Website"%>
<% Website w = new Website(); %>
<%= new String("Hello from test.jsp") %>

因为看不到 sbwEJBJPA.jar 中的 Website.java 类而炸毁,错误如下:

org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP

PWC6199: Generated servlet error:
string:///test_jsp.java:6: package sbw.domain does not exist

PWC6197: An error occurred at line: 3 in the jsp file: /test.jsp
PWC6199: Generated servlet error:
string:///test_jsp.java:48: cannot find symbol
symbol  : class Website
location: class org.apache.jsp.test_jsp

PWC6197: An error occurred at line: 3 in the jsp file: /test.jsp
PWC6199: Generated servlet error:
string:///test_jsp.java:48: cannot find symbol
symbol  : class Website
location: class org.apache.jsp.test_jsp

任何想法为什么这不起作用?非常感谢任何帮助!

罗伯

【问题讨论】:

    标签: eclipse jakarta-ee glassfish ejb ear


    【解决方案1】:

    仅当值与清单文件位于同一存档中时,Class-Path 标头才有效。 sbwEJBJAP.jar 不在 swb 战争文件中。删除该清单,转到 Web 项目的 Deployment Assembly 属性页面,并将其标记为需要 sbwEJBJPA 项目。

    【讨论】:

    • 谢谢,当我进入 sbwEAR 项目的部署组件时,它说“Ear Module Assembly”包括/EarContentsbw / sbw.warsbwEJBJPA / sbwEJBJPA.jar。但它仍然不起作用。知道我错过了什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 2016-03-06
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多