8

私は小さなアプリケーションを書きました。データベース固有の情報をプロパティ ファイルに入れました。

db.url=jdbc:mysql://localhost:3306/librarydb
db.user=root
db.passwd=pas$w0rd

実行可能な jar ファイルを取得するためにアプリケーションをビルドすると、プロパティ ファイルが内部に含まれます。これらの情報をプロパティファイルに入れる全体的な目的は、ユーザーがそれらを変更できるようにすることですが、これは不可能になっています。

jarファイルが含まれていないプロパティファイルを含めるにはどうすればよいですか? .NET アプリケーションで AppSettings ファイルを使用するのと同じようなものです。

私はJavaに非常に慣れていないので、一連の手順に分けていただければ幸いです。

ありがとうございました。

編集 :

これは、プログラムのプロパティ ファイルから値を取得する方法です。

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;
    }

}
4

4 に答える 4

2

それ以外の

in = DatabaseHandler.class.getResourceAsStream("database.properties");

試す

in = DatabaseHandler.class.getResourceAsStream("/database.properties");
于 2014-01-22T15:22:22.547 に答える
0

プロパティ ファイルの場所をハードコーディングしないでください。あなたのアプローチは、クラスパスからファイルをストリーミングすることです。

そうでない場合は、プロパティ情報を特定のデータ形式 (JSON など) で返す URL を指定することをお勧めします。

JARがある場合は、これを確認してください。

アプリケーションが WAR の場合は、 WARのプロパティを確認してください。

于 2013-05-19T08:00:27.800 に答える