# EJB-client: jar-Archiv als Export aus Eclipse läuft nicht



## mahoffmal (17. Aug 2004)

Hallo.

Vielleicht weiß jemand von euch da draußen Rat:

Ich habe eine Client-Applikation, welche mit Enterprise Java Beans (EJB2.0), genau gesagt mit einer SessionBean, kommuniziert. Verwendet wird hierzu RMI bzw. der JNDI-Namensdienst. In der Entwicklungsumgebung (Eclipse 2.1.2) funzt alles prima.

Nun habe ich diese Client-Anwendung aus Eclipse in ein jar-Archiv exportiert. Natürlich mit Angabe der Main-Klasse. Beim Start erscheint jedoch die Fehlermeldung:
"Could not find the main class. Program will exit."

Ohne Einbindung dieses RMI-Zugriffs auf die SessionBean lässt sich das jar-Archiv starten, mit dem SessionBean-Zugriff jedoch nicht!?!

Ich vermute, dass da irgendein Pfad, ne notwendige Klassenbibliothek bzw. Umgebungsvariable fehlt. Könnt ihr mir nen Tip geben?

System:
- Windows XP
- jboss 3.2.3 als EJB-Applikationsserver
- mysql 4.0.18
- Eclipse 2.1.2

Danke!

mahoffmal


----------



## Guest (17. Aug 2004)

Vielleicht fehlt Dir noch jndi.properties
z.B.
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming

Ansonsten, einige der JAR's aus "jboss#/client" Verzeichnis.


----------



## mahoffmal (17. Aug 2004)

Was muss ich mit diesen JAR's aus dem "jboss#/client"-Verzeichnis tun? Wo müssen die eingebunden werden?


----------



## Guest (18. Aug 2004)

In classpath, wo sonst?

java -cp ..hierher damit..


----------



## mahoffmal (18. Aug 2004)

o.k., danke.

Ich hab das mit dem classpath zwar nicht hingekriegt, es läuft aber jetzt. Ich habe 2 JAR-Files aus dem "jboss#/client"-Verzeichnis entpackt und danach ins Client-JAR-Archiv gepackt. Nun läuft's


----------



## Pulpapex (25. Aug 2004)

Den Klassenpfad für Jar-Archive kann man in der Manifest-Datei angeben:

MANIFEST.MF:

```
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3 
Created-By: 1.4.2-b28 (Sun Microsystems Inc.)
Class-Path: libA.jar libB.jar
```
Mehrere Archive werden durch Leerzeichen getrennt. Im obigen Beispiel müssen libA.jar und libB.jar im selben Verzeichnis wie das ejb-client.jar liegen. Mit einem Ant-Script kannst du dir das ejb-client.jar mit einem Mausklick aus deinem Eclipse-Projekt erstellen lassen. Im Projekt muss es den Order META-INF mit der Datei MANIFEST.MF geben.


```
<project name="blah" default="ejb-client.jar" basedir=".">

    
    <target name="ejb-client.jar">
        <mkdir dir="dist" />
	
        <jar jarfile="dist/ejb-client.jar"
             basedir="bin"
             manifest="META-INF/MANIFEST.MF">
        </jar>
    </target>

</project>
```

Gruß
Pulpapex


----------

