如何在可分发的jar文件上正确加载.properties?

时间:2018-03-07 16:53:55

标签: java swing jar filereader

我正在尝试将 .properties 文件加载到我的可分发jar文件中。这就是我到目前为止所做的:

在我的 config.properties 文件中,我定义了此属性

jdbc.driverClassName = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/testdb
jdbc.username = root
jdbc.password =

在我的班级 DBManager 上,我有这样的方法:

//Default Constructor
public DBManagerImpl(){
    JDBC_DRIVER = getResource().getProperty("jdbc.driverClassName","com.mysql.jdbc.Driver");
    try {
        Class.forName(JDBC_DRIVER);
    }...
}

//Getting properties file
private Properties getResource(){
    Properties prop = new Properties();
    InputStream input = null;
    try {
        input = getClass().getClassLoader().getResourceAsStream("config.properties");
        prop.load(input);
    } ...
    return prop;
}

public Connection getConnection() {
    Connection connection = null;
    try {
        DATABASE_URL = getResource().getProperty("jdbc.url", "jdbc:mysql://localhost:3306/defaultdb");
        username = getResource().getProperty("jdbc.username", "root");
        password = getResource().getProperty("jdbc.password", "");
        connection = DriverManager.getConnection(DATABASE_URL, username, password);
    } ...
    return connection;
}

同样明智的,我还有另一个文件 book.csv ,其中包含要加载到我桌面上的书籍列表。

我现在的问题是,在生成jar文件时,如果我在 config.properties 上更改我的定义或修改我的 book.csv 并运行我的可分发文件没有渲染变化。

希望有人能指出解决方案。

非常感谢任何帮助

0 个答案:

没有答案