Entwickelt einen Rest-Service, der Drittanbieter-Jars verwendet. Bei der Überprüfung ihres Codes habe ich festgestellt, dass sie ClassLoader.getSystemResource ("log4j.properties") verwenden, um die Daten abzurufen. Dieser Code gibt null zurück, und fortan erhalte ich immer eine Nullzeigerausnahme. Der gleiche Code, wenn ich in Websphere 8.5.5.7 bereitstellen und Server Classpath setzen, funktioniert es gut. Da ich Liberty in meiner lokalen Maschine verwende, ruft dies den Pfad nicht ab.Liberty Server - ClassLoader.getSystemResource gibt null zurück
Ich habe auch versucht, Classloader in server.xml, aber keine Verwendung.
<library id="config">
<folder dir="/properties/dev/" includes="*.properties" scanInterval="5s"/>
</library>
<enterpriseApplication id="AbcEAR"location="AbcEAR.ear" name="AbcEAR">
<classloader privateLibraryRef="config"/>
</enterpriseApplication>
Danke Andy. Wie ich schon sagte, verwende ich Jars von Drittanbietern und ich habe keinen Zugang, um den Code zu aktualisieren. Ich habe versucht, den Klassenpfad zu finden und die Eigenschaftendatei zu platzieren, aber trotzdem null erhalten. –
@Ctsuser haben Sie versucht, die Konfiguration des JVM-Klassenpfads in jvm.options hinzuzufügen, um/properties/dev hinzuzufügen? – Alasdair