Verpackung IST
Die einfachste Lösung ist es, alle abhängigen JAR-Dateien und Klassen in Ihrem ausfahrbaren IST-Datei zu verpacken, wenn Sie können. Dann haben Sie die Kontrolle darüber, wie sie von Ihrem angegebenen Klassenpfad geladen werden.
Wie BGR erwähnt alle kompilierten Java scource (* .class-Dateien) sollten in Ihrer WAR-Datei unter dem web-inf\classes
Verzeichnis
Jede Unterstützung JAR-Dateien verfügbar sein sollten innerhalb Ihrer WAR-Datei unter dem web-inf\lib
Verzeichnis sein.
Tomcat kennt diese Verzeichnisstrukturen, da es ein Industriestandardformat für WAR-Dateien ist.
Sie können natürlich von dieser Standardstruktur abweichen und JAR-Dateien von außerhalb Ihres WAR laden, aber dann müssen Sie mögliche Probleme beim Laden von Klassen verstehen. Was ich erwähnt habe, ist der einfachste Weg nach vorne.
Gibt es auf dem Klassenpfad eine Datei?
In Ihrer Anwendung können Sie etwas tun, um zu überprüfen, ob eine bestimmte Datei in Ihrem Klassenpfad vorhanden ist.
URL resource = this.getClass().getClassLoader().getResource(path);
Hier einige zusätzlichen Lese von Oracle über Location-Independent Access to Resources