In meiner Anwendung ich Ressourcen auf diese Weise laden:eine Ressource in einem Glas enthalten
WinProcessor.class.getResource("repository").toString();
und das gibt mir:
file:/root/app/repository (and I replace "file:" with empty string)
Das funktioniert gut, wenn ich meine Anwendung von der IDE ausführen , aber wenn ich das Glas meiner Anwendung ausführen:
java -jar app.jar
der Weg wird:
jar:/root/app.jar!/repository
Gibt es eine Möglichkeit, dieses Problem zu lösen?
Ich werde die „Repository“ dir Namen, um diese zu erstellen verwenden:
ConfigurationContext ctx = (ConfigurationContext) ConfigurationContextFactory.createConfigurationContextFromFileSystem(repositoryString, null);
In der gleichen Weise, werde ich einen Dateinamen erhalten (anstelle eines dir) und ich werde verwenden es auf diese Weise:
System.setProperty("javax.net.ssl.trustStore", fileNameString)
Zustimmen. Wann immer Sie nicht mit hundertprozentiger Sicherheit sagen können, dass Sie sich mit physischen einzelnen Dateien beschäftigen (Java Web Start für einen), sollten Sie immer mit Streams codieren. –