# java.lang.NoClassDefFoundError: javax/ejb/CreateException



## gedachtnissieb (24. Dez 2006)

Hey,

versuche grade ne j2ee zum Laufen zu bringen. Aufgabe ist, eine Anmeldemaske anzuzeigen, in der dann Emailadresse und ein Passwort eingegeben werden. Dazu habe ich eine j2ee Anwendungen geschrieben, die sich mit ner Datenbank verbindet und auch wunderbar funktioniert, wenn ich den Client aus einer "main Methode"

Da wir aber Masken verwenden sollen, wollte ich ein Dynamisches Web Project verwenden. Nach Einlesen von Name und Passwort ruft die "doGet" Methode die Folgende auf:

```
public void testBean() {
		System.out.println("testBean()");
		try{
			j2ee.Gamble myBean = getHome().create(email, password);
			myBean.isUser();
			System.out.println("WORKS");
		}catch(RemoteException e){
			e.printStackTrace();
		}catch(NamingException e){
			e.printStackTrace();
		}catch(CreateException e){
			System.out.println("HERE");
		}
	}
```

Nachdem ich das JavaHomeObject gestartet habe und dann das Dynamic Web Project mittels Tomcat Server starte bekomme ich folgende Fehlermeldung (Controller ist die Klasse, die das Bean erzeugen soll)

```
INFO: Server startup in 891 ms
24.12.2006 01:02:40 org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet Controller as unavailable
24.12.2006 01:02:40 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Allocate exception for servlet Controller
java.lang.NoClassDefFoundError: javax/ejb/CreateException
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	at java.lang.Class.getConstructor0(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1055)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:757)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:130)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Unknown Source)
```

Wie gesagt, als normales Java Programm (was prinzipiell den gleichen Quelltext enthält) gestartet funktioniert alles!
Hat jemand einen Vorschlag? Wenn ich den Maus Cursor in der Klasse auf "CreateException" halte erscheint folgende Meldung:


> Note: This element neither has attached source nor attached Javadoc and hence no information could be found.



Thanx4help


----------



## gedachtnissieb (24. Dez 2006)

Ich habe jetzt die Web Anwendung auch über den JBoss Server laufen lassen. Neues Spiel, neue Fehlermeldung:



> 13:57:01,234 ERROR [LogInterceptor] EJBException in method: public abstract j2ee.Gamble j2ee.GambleHome.create(java.lang.String,java.lang.String) throws javax.ejb.CreateException,java.rmi.RemoteException:
> javax.ejb.EJBException: Invalid invocation, check your deployment packaging, method=public abstract j2ee.Gamble j2ee.GambleHome.create(java.lang.String,java.lang.String) throws javax.ejb.CreateException,java.rmi.RemoteException...



Beim googeln stieß ich auf eine Antwort, die relativ klare Anweisungen enthält:


> Hi folks,
> 
> I found this forum post while I was getting a similar error.
> 
> ...


forum.java.sun.com/thread.jspa?threadID=557629&messageID=2738587



Anweisung: Lösche einfach die Klassen in dem Dynamic Web Project und importiere die EJB JAR File über den Java Build Path

*puhhh hat das Zeit gekostet


----------

