EJB Stateless Session Bean - konnte nicht erstellen Fehler

Lassen Sie mich beginnen, indem er darauf hinweist, dass, während ich habe mit Java SE für eine Weile jetzt, dies ist mein Erster Ausflug in die Java-EE-Gebiet. Ich bin mit Netbeans 6.9 und der Netbeans-code-generator zu tun, die meisten der schweren lifting (mehr dazu weiter unten). Die version von GlassFish 3 - die Moor-standard ein, dass die Schiffe, wenn Sie den download für Netbeans.

Habe ich eine zustandslose Session-Bean, um wieder eine einfache Zeichenfolge wie folgt:

@Stateless
public class SDBSStatelessSessionBean implements SDBSStatelessSessionBeanRemote {

    @Override
    public String sayHello() {
        return "This seems to be working just fine.";
    }     
}

mit der interface-definition:

@Remote
public interface SDBSStatelessSessionBeanRemote {

   String sayHello();
}

Die Klasse und das interface wurden sowohl geschaffen als mit dem "Code Einfügen" - Funktion, die Netbeans bietet. Ich Schätze diese Art, wie ich vermeiden, dass irgendwelche dummen newbie-Fehler (oh die Ironie).

Mein problem ist, dass wenn ich versuche zu nennen, die Enterprise-bean aus einem servlet (der Anruf wurde Hinzugefügt, mit der Anruf-Enterprise-Bean " - option aus dem Netbeans-code-generator) bekomme ich die folgende Fehlermeldung:

javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB

Ausnahme verursacht wurde durch:
NoClassDefFoundError

Dies ist, wie das servlet macht der Aufruf:

@EJB
private SDBSStatelessSessionBeanRemote sDBSStatelessSessionBean;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Test Servlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<p>" + sDBSStatelessSessionBean.sayHello()  +"</p>");
        out.println("</body>");
        out.println("</html>");
    } catch (Exception e) {
        out.println("<p>" + e.getMessage() + "</p>");
        out.println("</body>");
        out.println("</html>");
    } finally {
        out.close();
    }
}

Ich habe Angst, dass ich nicht in der Lage gewesen, eine Lösung zu finden, um dieses problem nach umfangreichen Googeln (vor allem, weil die wenigen Beiträge im forum, die scheinen zu kommen in der Nähe dieses problem enthalten zu viel Fachchinesisch für mich zu Folgen der Lösung).

Ich würde stark schätzen jede Beratung/Hilfe verweist mich in die richtige Richtung.

Es sollte eine "Verursacht durch" diese Ausnahme zeigt, dass der Grund dafür, dass das EJB konnte nicht erstellt werden. Bitte, dass die.
Vielen Dank für den Hinweis. Ich habe den edit oben.
Für die Fragen der Zukunft, ist es wahrscheinlich am besten, um den kompletten stack-trace (oder zumindest die vollen", Verursacht durch" Linie); die Nachricht von einem NoClassDefFoundError signifikant ist.

InformationsquelleAutor Insectatorious | 2011-04-29

Schreibe einen Kommentar