Problem beim Erstellen einer ausführbaren JAR-File

fsmarine

Mitglied
Hallo Leute,

ich weiß nicht was ich falsch mache aber ich versuche hier die ganze zeit eine Ausführbare Jar FIle zu erstellen, bekomme aber wegen einer "NoClassDefFoundError: javax/jms/MessageListener" FEhlermeldung nie die jar richtig zum laufen, auch wenn sie die in der IDE (Netbeans 6.8 J2EE Client Applikation) ohne probleme läuft.

Was muss ich machen damit er die jar libs mit den entsprechenden Klassen auch in die jar integriert (Am besten ohne Code anpassungen)? und wie in der IDE ohne Probleme läuft
 
Versuche mal, die .jar-Datei selbst über die Konsole zu erstellen, z.B. so:
Code:
jar cvfe DeinJar.jar DeineKlasse DeineKlasse.class EineAndereKlasse.class DeineZusatzklassen.jar
Viel Glück! ;)
 
öhm ... ich vermute jetzt einfach mal ganz stark das du zum compilen mit NetBeans schon die J6EE verwendest ...
zum ausführen aber vermutlich nur ne normale J6SE ...
und da javax.jms.* nunmal in die EE gehört wird deine SE da nix laden können *es sei denn du würdest den kram mit in das JAR legen *meinetwegen auch n lib-jar innerhalb des app-jars*

wenn du zum ausführen auch die J6EE verwendest dürfte der fehler dabei liegen das KEINE offizielle LIB-class eine MAIN-methode besitz ... wesshalb du als main schlecht eine solche angeben kannst ..

wenn da jetzt immer noch was nich geht hab ich entweder deinen post nicht richtig verstanden *auch nachem 2ten ma lesen nich* ...
oder du hast da n ziemlich großen denk-fehler drin ...


btw : OHNE source wird dir niemand helfen können ...
 
also ich bin weiter gekommen mit:
HTML:
java -cp PMPrototype-ejb.jar;javassist.jar;jbossall-client.jar;jboss-javaee.jar;PMPrototype-pm-app-client.jar;jnp-client.jar;jboss-logging-spi.jar pmprototype.Listener

Nur bekomme ich jetzt eine java.lang.classCastException: javax.naming.reference cannot be cast to org.tnac.sesseion.IMVPolicy_Profile.IMVPolicy_ProfileSessionRemote die von folgender stelle geworfen wird:

HTML:
    private IMVPolicy_ProfileSessionRemote lookupIMVPolicy_ProfileSessionBean() {
        try {
            config = new ConfigReader(Listener.CONFIG_FILE);
            Context c = JBossInitialContext.createJBossInitialContext(config.getPMIP(), config.getPMPort());
            return (IMVPolicy_ProfileSessionRemote) c.lookup(IMVPolicy_ProfileSessionBean.RemoteJNDIName); // HIER KOMMT DER FEHLER
        } catch (Exception ex) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "Exception caught", ex);
            throw new RuntimeException(ex);
        }

Dieser Fehler wird übrigens nicht ausgegeben wenn ich die Software ganz normal über die IDE Netbeans 6.8 ausführe.

Das Projekt ist auf ein JBoss 5.1.0GA am laufen und es besitzt eine normale applikation (die ich versuche auszuführen) und ein EJB Teil der Deployt seperat über die run.bat gestartet wurde ohne Fehlermeldung und mit den entsprechenden Deployten Tabellen die hier auch angegeben wurden
 
Ok Habs hinbekommen...

also erstmal danke an euch allen...

und die Lösung ist einfach:

Bei JBoss Clientapplikationen am besten eine jar Datei basteln aus allen libs aus dem ordner /jboss/client/* (ist dann 8mb groß)

und diese lib mit java -cp jbossall-client.jar;application.jar mainklasse ausführen...

ist zwar mit Bomben auf Spatzen werfen, funktioniert aber ;)...

Gruß und nochmals danke
 
Zurück