# "No cmp field defined for CMP EJB"



## netwundi (25. Nov 2005)

Liebe Leute, 

bei dem Versuch, meine erste EJB zu deployen tritt der oben genannte Fehler auf. Ich verwende den Sun Application Server mit dem beiliegenden Deployment Tool unter Win XP Pro. Mein Verdacht ist, dass der Fehler eine der beiden folgenden Ursachen hat: 

a) Ich habe es aus unerfindlichen Gruenden beim Einrichten der EJB nicht geschafft, den bereits vorhandenen Deployment Descriptor zu ueberschreiben (EJB-JAR.xml). Das wuerde erklaeren, warum beim Deployment die entsprechenden CMP-Felder nicht gefunden werden, da diese ja in meinem eigenen Deployment Descriptor definiert sind. 
Oder: 

b) Ich habe noch keine Datenbank mit dem Application Server verknuepft, da ich nicht weiss, welchen JNDI Namen ich fuer meine lokale MySQl-Installation bei "CMP Resource" angeben muss. 

Ich hoffe, ich habe das Problem halbwegs klar beschreiben koennen. Hat jemand zufaellig eine Idee, wie ich den Fehler beheben kann? 

Schoenen Gruss, 

N.


----------



## Guest (25. Nov 2005)

zu a): Du musst selber wissen, was du deployed hast. Schau doch in die jar Datei rein.
zu b): unwahrscheinlich, die Fehlermeldung wäre eine andere.


----------



## netwundi (25. Nov 2005)

Anonymous hat gesagt.:
			
		

> zu a): Du musst selber wissen, was du deployed hast. Schau doch in die jar Datei rein.



Im Prinzip weiss ich es ja auch: Ich habe die jar-Datei mit dem Deployment-Tool erstellt und selbiges erlaubt es mir nicht, die vorhandene ejb-jar.xml im Verzeichnis Meta-inf zu ueberschreiben. Ich kann nur die drei EJB-Klassen hinzufuegen. 

N.


----------



## Guest (25. Nov 2005)

Hmm... das Deployment Tool vom Sun Application Server habe ich noch nie verwendet.
Wenn es keine Möglichkeit bietet Beans zwischen unerschiedlichen EJB-Modulen hin und 
her zu schaufeln, dann würde ich den Deployment Descriptor aus dem Jar entpacken und 
in einem Texteditor anpassen.

Wenn es dir wirklich nur um das Überschreiben geht, dann mach's mit dem erst besseren 
ZIP Programm oder mit dem Jar-Tool von Sun. VORHER KOPIE ERSTELLEN, FALLS WAS 
SCHIEF GEHT! (nur damit es kein Drama gibt  :wink


----------



## netwundi (26. Nov 2005)

OK, ich habe die jar-Datei jetzt manuell aufgemacht und meine Datei ejb-jar.xml an die richtige Stelle kopiert. Wenn ich das Deployment tool jetzt neu starte, bekomme ich einen neuen Fehler: "Deploying application in domain  failed; Error while running ejbc " mit einem java.lang.ClassNotFoundException Fehler. Wo der jetzt wohl herkommt?
Schon nervig, man hangelt sich so von Problem zu Problem...
Vielen Dank aber fuer die Hilfe!

Schoenen Gruss, 

N.


----------



## bronks (26. Nov 2005)

@netwundi:
Wo hast Du die EJBs her?

Was ist das konkrete Ziel Deiner Aktion?


----------



## netwundi (26. Nov 2005)

Die EJB hab ich selber geschrieben, basierend auf dem Tutorial hier: 
http://java.sun.com/developer/onlineTraining/EJBIntro/EJBIntro.html

Mein Ziel es ist einfach nur, die Grundlagen irgendwie zum Laufen zu kriegen, also eine einfasch EJB mit CMP auf dem Server einzurichten, auf die ich dann mit einem Client zugreifen kann. 

Schoenen Gruss, 

N.


----------



## bronks (26. Nov 2005)

@netwundi:
Alles klar! Mein Tip: Besorg Dir Netbeans und mach die EnterpriseTutorials von der NetBeansSeite. Die funktionieren auf anhieb und das Verständnis ergibt sich recht schnell ...

Mit dem DeployTool hab ich auch mal ein paar Sachen gemacht und fand es garnicht lustig, weil ... es hat mich halt geärgert.


----------



## netwundi (26. Nov 2005)

OK, danke fuer den Tipp, bronks! NetBeans hab ich hier eh schon installiert, bisher aber nur mit dem JDeveloper von Oracle gearbeitet. Wird wohl mal Zeit, die Netzbohnen auszuprobieren. 

Bis denn, 

N.


----------



## bronks (27. Nov 2005)

Der JDeveloper ist saugeil, wenn man für eine reine OracleUmgebung entwickelt, aber sonst kommt hinten mehr Oracle, als Java raus, weil Oracle eine sehr lockere Namensgebung unterstützt, bei der andere Server gleich protestieren.

Apps, die für den SJSAS gebaut sind, kann man recht einfach auf andere Server anpassen, aber umgekert ist es eher ein Drama.


----------

