2012-09-13 22 views
9

Ich mache einen Kurs in Enterprise Application Development. Ich bin neu in JSF. Ich versuche, meine App mithilfe von Glassfish 3.1 mithilfe von JSF und Netbeans IDE bereitzustellen.EJB-Modul konnte nicht geladen werden

Der Fehler, den ich bekomme, ist unten aufgeführt.

Error occurred during deployment: Exception while preparing the app : Unable to load the EJB module. DeploymentContext does not contain any EJB. Check the archive to ensure correct packaging for F:\Seagate\docs backup\NetBeansProjects\ent-app-dev\Slamka_Project1\build\web. If you use EJB component annotations to define the EJB, and an ejb or web deployment descriptor is also used, please make sure that the deployment descriptor references a Java EE 5 or higher version schema, and that the metadata-complete attribute is not set to true, so the component annotations can be processed as expected. Please see server.log for more details.

Im Folgenden sind die Referenzen, die ich EJB gemacht haben.

import javax.ejb.LocalBean; 
import javax.ejb.Stateless; 
import javax.ejb.EJB; 
@EJB 

Jede Hilfe wäre willkommen.

EDIT: Dies ist eine Java Web Application.

EDIT WAR-Datei Baumstruktur

  • META-INF/MANIFEST.MF
  • WEB-INF/classes
  • WEB-INF/lib/primefaces-2.1.1.jar
  • WEB-INF/web.xml
  • index.shtml

Meine Datei hat kein EJB-Tag im XHTML-Dokument. Es hat, was unten aufgeführt ist.

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:c="http://java.sun.com/jsf/core">

+0

Beitrag mehr Code und Glas Struktur – Ilya

+0

nicht scheinen, kann die Verzeichnisstruktur in einem Listenformat zu erhalten. – jslamka

Antwort

1

So haben Sie Web-Anwendung, dann ist es nicht ejb-jar, es Web-Modul, das auf *.war Archiv packeged werden sould.
Struktur sollte

  • * .war/META-INF/persistence.xml
  • * .war/META-INF/MANIFEST.MF
  • * .war/WEB-INF/sun-web sein .xml
  • * .war/WEB-INF/web.xml
  • * .war/WEB-INF/classes/- kompilierten Klassen in Paketen
  • * .war/WEB-INF/lib/- libs
  • * .war/index.jsp - Homepage

Beispiel sun-web.xml

<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd"> 
<sun-web-app> 
    <context-root>/app</context-root> 
</sun-web-app> 

wenn Sie Maven verwenden, können Sie maven-war-plugin

+0

Ich habe versucht, den HTML-Code mit ejb-jar zu ersetzen und das hat nicht funktioniert. Wahrscheinlich nicht richtig. – jslamka

+0

Ich benutze Facelets und GlassFish. Ich weiß, dass ich Maven nicht benutze. – jslamka

1

Es stellte sich heraus, das Problem über ein Tippfehler in einer SQL-Anweisung war (1 und l [Kleinbuchstaben L]) und ich musste ein "Clean and build" für das Projekt machen. Danke für die, die sich Mühe geben, mir bei der Lösung meines Problems zu helfen.

6

Durch die Änderung der web.xmlweb-app Attributversion auf 2.5 oder höher wurde dieses Problem behoben.

Aktualisiertes Web-App-Element von Web.xml wird,

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
Verwandte Themen