Czy mogę użyć ścieżki klasy do zastąpienia pliku w uruchomionym słoiku?
Mam plik JAR zawierający aplikację oraz pliki konfiguracyjne dla tej aplikacji. Aplikacja ładuje pliki konfiguracyjne ze ścieżki klasy (za pomocąClassLoader.getResource()
), i ma swoje zależności całkowicie spełnione przy użyciu plików konfiguracyjnych zapieczętowanych w pliku JAR.
Czasami chcę, aby aplikacja była uruchamiana z nieco inną konfiguracją (konkretnie chcę przesłonić adres URL JDBC, aby wskazywał inną bazę danych), więc utworzę nowy plik konfiguracyjny, przechowuję go we właściwej strukturze katalogów (co oznacza informator/config
wpisu ścieżki klasy) i chcę zrobić coś takiego:
java -cp new-config:. -jar application.jar
Ale nie mogę dostać ścieżki klas, aby miećnew-config
wpis ścieżki przed zawartością JAR aplikacji. Czy jest to na stałe zakodowane, że treść JAR jest zawsze pierwszą rzeczą w ścieżce klasy?