Wir wollten mit pdf-as-lib-3.5 in einem Servlet-Context (proprietaer, Jetty-basiert) PDF-Dokumente signieren, jedoch liess sich die Lib nicht laden. Problem ist, dass im init() einer Klasse "Normalizer" folgendes gemacht wird:
String class_name = this.getClass().getPackage().getName() + getClassName();
Class normalize_class = Class.forName(class_name);
(getClassName() liefert den fixen String ".Normalize" und haengt einen String "V01" aus einem Config-File an; das entsprechende class-file existiert auch)
class_name sollte ergeben: "at.knowcenter.wag.egov.egiz.tools.NormalizeV01" - in unserem Context aber scheitert das aber an einer NullPointerException (this.getClass().getPackage() liefert null). Und laut API-Doc kann das durchaus vorkommen, dass java.lang.Class.getPackage() null liefert.
Comments
Den Workaround will ich nicht verschweigen:
Es wurde ein minimales Servlet gebaut, an das das PDF-Dokument geschickt wird. Das laeuft auf einem Tomcat7 mit pdf-as-lib-3.5 ohne Probleme.
Schoen ist das aber nicht, da eine Schnittstelle mehr involviert ist.
Sorry... Falsches Projekt erwischt.