0

Eclipse(Indigo)とGlassFish3.1.2を使用しています。

と呼ばれるEJBおよびJPAクラスのプロジェクトがありsbwEJBJPAます。

と呼ばれるEARプロジェクトがありsbwEARます。

JSPとサーブレットを使用した動的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

これが機能しない理由はありますか?どんな助けでも大歓迎です!

ロブ

4

1 に答える 1

0

Class-Path ヘッダーは、値がマニフェスト ファイルと同じアーカイブにある場合にのみ機能します。sbwEJBJAP.jar が swb war ファイルにありません。そのマニフェストを削除し、Web プロジェクトの配置アセンブリ プロパティ ページに移動して、sbwEJBJPA プロジェクトが必要であることをマークします。

于 2012-05-25T05:42:01.213 に答える