Tak więc chcesz traktować swój .properties
plik w tym samym folderze co główny / uruchamialny plik jar, a nie jako zasób głównego / uruchamialnego pliku jar. W takim przypadku moje własne rozwiązanie wygląda następująco:
Po pierwsze: architektura pliku programu powinna wyglądać następująco (zakładając, że głównym programem jest main.jar, a jego głównym plikiem właściwości jest main.properties):
./ - the root of your program
|__ main.jar
|__ main.properties
Dzięki tej architekturze można modyfikować dowolną właściwość w pliku main.properties za pomocą dowolnego edytora tekstu przed lub w trakcie działania pliku main.jar (w zależności od bieżącego stanu programu), ponieważ jest to tylko plik tekstowy. Na przykład plik main.properties może zawierać:
app.version=1.0.0.0
app.name=Hello
Tak więc, kiedy uruchamiasz swój główny program z jego katalogu głównego / podstawowego, zwykle uruchamiasz go w następujący sposób:
java -jar ./main.jar
lub od razu:
java -jar main.jar
W pliku main.jar musisz utworzyć kilka metod narzędziowych dla każdej właściwości znalezionej w pliku main.properties; powiedzmy, że app.version
właściwość będzie miała getAppVersion()
następującą metodę:
import java.util.Properties;
public static String getAppVersion() throws IOException{
String versionString = null;
Properties mainProperties = new Properties();
FileInputStream file;
String path = "./main.properties";
file = new FileInputStream(path);
mainProperties.load(file);
file.close();
versionString = mainProperties.getProperty("app.version");
return versionString;
}
W dowolnej części programu głównego, która potrzebuje app.version
wartości, wywołujemy jej metodę w następujący sposób:
String version = null;
try{
version = getAppVersion();
}
catch (IOException ioe){
ioe.printStackTrace();
}
user.home
. Podczas sprawdzania pliku najpierw sprawdź istnienie zmieniony plik w systemie plików, a jeśli nie istnieje, załaduj plik domyślny. " BTW „Nie chcę…” To, czego chcesz, jest mniej ważne niż to, co działa i jest praktyczne. Przechowywanie aplikacji. ustawienia w katalogu aplikacji są zdecydowanie odradzane zarówno przez Oracle, jak i MS (i prawdopodobnie inne).