JARs zu einem Dynamic Web Project in Eclipse hinzufügen

Für die Kommunikation zwischen dem Tomcat- und dem APE-Server in meiner Bachelor-Thesis brauche ich auf der Java-Seite JSON-Fähigkeiten. Meine Wahl fiel auf Jackson, den es bequemerweise sogar in den Ubuntu-Repositories gibt.

sudo apt-get install libjackson-json-java

Update 2011-12-18: Die Lösung ist bedeutend einfacher als das, was nach diesem Abschnitt kommt. Die JARs gehören in das WEB-INF/lib-Verzeichnis des Projektes. Fertig.

Alte Lösung:
In den Projekt-Eigenschaften unter „Java Build Path“ – Tab „Libraries“ habe ich dann die externen JARs hinzugefügt. Diese waren unter /usr/share/java/ zu finden.

Zum Projekt hinzugefügte externe JARs.

An diesem Punkt dachte ich, es wäre alles geritzt. Ich konnte die neuen Klassen im Code importieren und verwenden. Eclipse hat mir nichts angestrichen und auch die Auto-Vervoll­ständigung hat funktioniert. Dann mal den Server starten …

SCHWERWIEGEND: Allocate exception for servlet [meinServlet]
java.lang.ClassNotFoundException: org.codehaus.jackson.JsonParseException
    at org.apache.catalina.loader.WebappClassLoader.loadClass

:(

Die Lösung

Server in Eclipse

Die Lösung ist wirklich sehr, sehr simpel. Man muss es nur erst einmal wissen. Beim zuge­hörigen Tomcat-Server muss man die Datei catalina.properties bearbeiten. Unter shared.loader ergänzt man dann die externen JARs.

shared.loader=/usr/share/java/jackson-core.jar,
/usr/share/java/jackson-mapper.jar,
/usr/share/java/jackson-jaxrs.jar,
/usr/share/java/jackson-xc.jar