java.lang.NoClassDefFoundError: javax/resource/ResourceException

takidoso

Erfahrenes Mitglied
Hallo un Halli,
ich erlebe gerade etwas drolliges.
in einem Unixumfeld habe ich versucht eine Alte MQ-Anwendung, die bisher immer soweit getan hatte auf meinem Homeverzeichnis flottzukriegen.
Dabei erlebe ich folgende Exception
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/resource/ResourceException
        at de.equens.mq.MQ.<clinit>(MQ.java:57)
        at de.equens.embargo.output.EmbargoMessageOutput.init(EmbargoMessageOutput.java:164)
        at de.equens.embargo.output.EmbargoMessageOutput.<init>(EmbargoMessageOutput.java:97)
        at de.equens.embargo.output.EmbargoMessageOutput.main(EmbargoMessageOutput.java:453)
Caused by: java.lang.ClassNotFoundException: javax.resource.ResourceException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 4 more
Neben den reinen Anwendungsbibliotheken wurde für die Anwendung bisher explizit folgende zusätzliche jar-datei verendet:
com.ibm.mq.jar

Und es hatte bisher immer gelklappt.
Es sieht so aus, als ob offenbar javax/resource/ResourceException fehlen würde. Aber wo ist diese Klasse, also in welcher Bibliothek, eigentlich definiert?
Hatte eigetnlich angenommen sie wäre in der gewöhnlichen Java-Umgebung enthalten.
Kann es auch sein, dass es einPrevilegien Problem gibt, dass diese Klasse nicht mehr (unter meinem User) erreicht wird?

für aufklärende Gedanken bin ich sehr Dankbar

Takidoso
 
Zuletzt bearbeitet:
Dank für Deine schnelle Antwort.
mittlerweile habe ich herausgefunden, dass die fehlende bibliothek die connector.jar gewesen ist und in meinem privat verwendeten Startskript die connector.jar nun explizt angegeben und siehe da, es klappt.

Was mich aber sehr arg wundert ist, warum das vorher funktioniert hatte, obwohl die connector.jar nicht explizit im startsckript angegeben war.
Gibt es eigentlich eine möglichkeit eine laufende JVM abzufragen welche Bibliotheken sie verwendet?
Vielleicht käme ich so dem Mysterium auf die Spur warum die bisherigen Startskripte (ohne besagte bibliothek) funktionieren.


Mt neugierigen Grüßen

Takidoso
 
Dank für Deine schnelle Antwort.
mittlerweile habe ich herausgefunden, dass die fehlende bibliothek die connector.jar gewesen ist und in meinem privat verwendeten Startskript die connector.jar nun explizt angegeben und siehe da, es klappt.

Was mich aber sehr arg wundert ist, warum das vorher funktioniert hatte, obwohl die connector.jar nicht explizit im startsckript angegeben war.
Gibt es eigentlich eine möglichkeit eine laufende JVM abzufragen welche Bibliotheken sie verwendet?
Vielleicht käme ich so dem Mysterium auf die Spur warum die bisherigen Startskripte (ohne besagte bibliothek) funktionieren.
Verwendest du eine Sun JVM?

Wenn ja:
Java:
System.err.println(System.getProperty("sun.boot.class.path"));

Gruß
 
Zurück