# Eclipse 3.4 --- EJB - JBoss



## bronks (17. Aug 2008)

Hi!

Habe ein EJB-Projekt Spec. 2.1 (eines von mehreren) in Eclipse für JBoss. Wenn ich einen Build mache, dann wird ein .jar-File im Deployverzeichnis erstellt. Soweit OK, aber in diesem Jar fehlen die Dateien jboss.xml, ejb-jar.xml und jbosscmp-jdbc.xml in META-INF. Erstellt werden die 3 Dateien, da diese im Projektverzeichnis vorhanden sind.

Wie kann man das Reparieren?

Danke

Bronks


----------



## semi (17. Aug 2008)

Entferne *.xml aus der Liste gefilterter Resourcen in Eclipse. Dummerweise ist *.xml defaultmässig drin.


----------



## bronks (17. Aug 2008)

semi hat gesagt.:
			
		

> Entferne *.xml aus der Liste gefilterter Resourcen in Eclipse. Dummerweise ist *.xml defaultmässig drin.


Super! Danke! Da muß man aber erst draufkommen, daß es sowas überhaupt gibt?


----------



## bronks (18. Aug 2008)

Dann noch eine Frage: Eclipse paketiert mir immer die EJB-Jar in das WEB-INF/lib der WebApp. Wie kann man Eclipse beibringen, daß die Datei nicht mitpaketiert wird.


----------



## semi (18. Aug 2008)

Dazu musst du das EJB Projekt aus den "Java EE Module Dependencies" in den Einstellungen des Web-Projekts entfernen.


----------



## bronks (18. Aug 2008)

semi hat gesagt.:
			
		

> Dazu musst du das EJB Projekt aus den "Java EE Module Dependencies" in den Einstellungen des Web-Projekts entfernen.


Aber dann kann die WebApp nicht kompiliert werden.


----------



## semi (18. Aug 2008)

bronks hat gesagt.:
			
		

> semi hat gesagt.:
> 
> 
> 
> ...


 Ein Teufelskreis, was? :bae: 
Wenn es ohne das andere Projekt nicht compiliert werden kann, dann wird auch zur Laufzeit die eine oder 
andere Klasse fehlen, wenn du die Jar-Datei entfernst, da dein Web-Projekt offensichtlich das EJB-Projekt 
benutzt.

Ich vermute, du willst vom Web-Projekt aus auf die Facade des EJB-Projekts zugreifen und dabei nicht gleich
die Implementierung in das Web-Projekt übernehmen. Right?
Erstelle ein zusätzliches Ant-Script und verpacke im EJB Projekt nur die Interfaces und Klassen, die nach
aussen sichtbar sind in eine Jar-Datei. Diese kannst du dann in das Web-Projekt aufnehmen.

PS:  Eine Alternative wäre auch, dass du die Implementierung des EJB-Projekts aufteilst. Interfaces und alles,
was über die Methodensignaturen erreichbar ist, in einem Projekt, die Implementierung dazu in einem anderen
Projekt.


----------



## bronks (18. Aug 2008)

semi hat gesagt.:
			
		

> ... Wenn es ohne das andere Projekt nicht compiliert werden kann, dann wird auch zur Laufzeit die eine oder andere Klasse fehlen, wenn du die Jar-Datei entfernst, da dein Web-Projekt offensichtlich das EJB-Projekt
> benutzt.


Das ist JBoss. Zur Laufzeit fehlt da absolut nichts. Damit alles läuft wie es soll muß ich erstmal einen Build machen, dann aus dem WAR das EJB JAR entfernen und JAR und WAR ins Deploy werfen.

Wie macht das der Rest der Welt der mit Eclipse Apps für JBoss baut?


----------



## bronks (18. Aug 2008)

Gelöst: Das EJB-Projekt dem Buildpath hinzugefügt und bei den Java EE Dependencies alle Häkchen rausgemacht.

@semi:
Nochmal Danke für die Tips.


----------

