Jar文件:在jar中加载配置文件

时间:2011-11-21 04:29:28

标签: java jar config

我导出了一个读取2个配置文件的项目。但是,当我执行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
    mickey91@mickey-espiritu:~/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文件)

,它可以工作

1 个答案:

答案 0 :(得分:4)

你忽略了提到你是如何访问这些文件的,但是从错误中看起来你正试图将它们作为文件访问 - 但它们不是,它们是类路径上的资源。

因此,您应该使用getResourceAsStream。资源的名称将是包相对路径。