java程序打包成jar 配置文件信息路徑


      一個普通的java project,里面引用了config.properties配置文件,將項目打成Runnable jar,然后將config.properties放到打包后的jar路徑下,執行該jar包,出錯,原工程中properties文件讀取代碼如下:

 InputStream in = SystemConfig.class.getResourceAsStream("/config.properties");
 FileInputStream in = new FileInputStream(rootPath+"/config.properties");

     上網搜了下class.getResource方式讀取配置文件時,在eclipse中運行是沒有問題的。將該類打包成jar包執行,如果配置文件沒有一起打包到該jar包中,文件查找的路徑就會報錯。但是對於配置文件,我們一般不希望將其打包到jar包中,而是一般放到jar包外,隨時進行配置。修改方式如下:

String rootPath = System.getProperty("user.dir").replace("\\", "/");
FileInputStream in = new FileInputStream(rootPath+"/config.properties");

     首先程序獲取程序的執行路徑,也就是你打包后的jar存放路徑,然后找到該路徑下的config.properties文件讀取,就可以了。

 

 

 

備注:對於其他的一些配置文件讀取,也要相應修改,例如mybatis讀取配置文件,默認方式是

java.io.Reader reader = Resources.getResourceAsReader("Configuration.xml");
factory = new SqlSessionFactoryBuilder().build(reader);

如果打包到jar運行,Configuration.xml沒有打包進去,也會報錯,統一修改成

String rootPath = System.getProperty("user.dir").replace("\\", "/");
java.io.Reader reader = new FileReader(rootPath+"/Configuration.xml");
factory = new SqlSessionFactoryBuilder().build(reader);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM