2011-11-21 105 views
0

我导出了一个读取2个配置文件的项目。然而,当我执行jar时,它会得到这个错误:Jar文件:在jar中加载配置文件

Error: java.io.FileNotFoundException: config/dbConnection.config (No such file or directory) 
    Error: java.io.FileNotFoundException: config/test.config (No such file or directory) 
    com.smart.ets.services.ServiceException: com.smart.ets.services.ConfigErrorException 
     at com.smart.ets.services.TransactionServiceImpl.getConfigData(TransactionServiceImpl.java:30) 
     at com.smart.ets.controllers.Simulator.getTransactionSimulationResults(Simulator.java:41) 
     at com.smart.ets.controllers.Simulator.main(Simulator.java:26) 
    Caused by: com.smart.ets.services.ConfigErrorException 
     ... 3 more 
    [email protected]:~/Documents/Dropbox$ java -jar ETS.jar 
    Error: java.io.FileNotFoundException: config/dbConnection.config (No such file or directory) 
    Error: java.io.FileNotFoundException: config/test.config (No such file or directory) 
    com.smart.ets.services.ServiceException: com.smart.ets.services.ConfigErrorException 
     at com.smart.ets.services.TransactionServiceImpl.getConfigData(TransactionServiceImpl.java:30) 
     at com.smart.ets.controllers.Simulator.getTransactionSimulationResults(Simulator.java:41) 
     at com.smart.ets.controllers.Simulator.main(Simulator.java:26) 
    Caused by: com.sm 

art.ets.services.ConfigErrorException 
    ... 3 more 

有什么办法解决这个问题?它运作,如果我运行项目(不是项目的jar文件)

回答

4

你忽略提及你如何访问文件,但从错误它看起来像你试图访问它们作为文件 - 但他们不是,他们是类路径上的资源。因此,您应该使用getResourceAsStream。资源的名称将是包相对路径。