# java.lang.NoClassDefFoundError: javax/resource/ResourceException



## takidoso (20. Mai 2010)

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

```
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


----------



## deepthroat (20. Mai 2010)

Hi.

Siehe http://javacio.us/search?q=javax/resource/ResourceException+more:jar_files&inline=true

Es scheint du benötigst ein J2EE SDK oder Java EE Server.

Gruß


----------



## takidoso (20. Mai 2010)

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


----------



## deepthroat (20. Mai 2010)

takidoso hat gesagt.:


> 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.
> ...


Verwendest du eine Sun JVM?

Wenn ja:
	
	
	



```
System.err.println(System.getProperty("sun.boot.class.path"));
```

Gruß


----------

