Ich habe eine kleine Anwendung geschrieben. Ich habe die datenbankspezifischen Informationen in eine Eigenschaftendatei geschrieben.Include Eine Eigenschaftendatei mit einer Jar-Datei
db.url=jdbc:mysql://localhost:3306/librarydb
db.user=root
db.passwd=pas$w0rd
Wenn ich die Anwendung zum Abrufen der ausführbaren JAR-Datei erstellen, wird die Eigenschaftendatei in enthalten. Der gesamte Zweck des Einfügens dieser Informationen in eine Eigenschaftendatei besteht darin, dem Benutzer zu ermöglichen, diese zu ändern, aber dies macht es unmöglich.
Wie kann ich eine Eigenschaftendatei mit der JAR-Datei nicht darin enthalten? Ein bisschen wie Sie mit AppSettings-Datei in .NET-Anwendungen tun.
Ich bin sehr neu in Java, also würde ich mich freuen, wenn Sie es auf eine Reihe von Schritten brechen könnten.
Vielen Dank.
EDIT:
Dies ist, wie ich die Werte immer von den Eigenschaften in meinem Programm einreichen.
public class DatabaseHandler {
public static Connection connectToDb() {
Connection con = null;
Properties props = new Properties();
InputStream in = null;
try {
in = DatabaseHandler.class.getResourceAsStream("database.properties");
props.load(in);
in.close();
String url = props.getProperty("db.url");
String user = props.getProperty("db.user");
String password = props.getProperty("db.passwd");
con = DriverManager.getConnection(url, user, password);
} catch (Exception ex) {
Logger.getLogger(DatabaseHandler.class.getName()).log(Level.SEVERE, null, ex);
}
return con;
}
}
Es ist mir nicht klar, was Sie unter „Wie kann ich gehören eine Properties-Datei mit der JAR-Datei nicht in it“ - einfach nicht setze die Eigenschaftendatei in die JAR-Datei ... –
Ähm ... das nächste Beispiel, das ich geben kann, ist die Datei 'App.config' in .NET. Wenn die ausführbare Datei erstellt wird, ist die Datei damit gebündelt, richtig? Nicht _inside_ es. – Isuru
Sicher. Jetzt haben Sie den Code bereitgestellt, wir können sehen, was Sie tun müssen - verwenden Sie einfach einen 'FileInputStream' anstelle von' getResourceAsStream'. –