2012-11-21 66 views
0

您好,我對heroku java開發很陌生。那麼我想從項目目錄中讀取一個config.json文件,但不知何故無法確定文件需要保存在哪裏。試圖保持相同的src>主要>資源,但仍然在部署後得到filenotfound。任何想法如何引用該文件? 。我的文件位於src/main/resources/config.json。從Heroku項目目錄中讀取json文件

試圖做這樣的事情

FileInputStream stream =new FileInputStream(LoadConfig.class.getResource("Config.json").getPath());

主要的問題是我不知道在哪裏,以保持config.json文件。

回答

3

你正在做什麼的一般想法應該工作,src/main/resources是保存Maven項目的文件的正確位置,因爲它們將在Maven構建過程中複製到target/classes以在類路徑中可用,但是情侶指針:

  • 請確保您具有正確的文件大寫。您提到該文件是config.json,但您的代碼使用的是Config.json

  • 您正在下載相關文件,到那個文件中的軟件包目錄是LoadConfig.class。例如,如果完全限定名稱是com.example.LoadConfig.class,那麼您將在target/classes/com/example目錄中尋找Config.json,而不是基址target/classes。爲了讓事情變得更簡單,您可能希望只使用系統類加載器加載該文件,所以你不必去想相對路徑,像這樣:

    FileInputStream stream = new FileInputStream(ClassLoader.getSystemResource("Config.json").getPath()); 
    
  • 在Heroku上構建和運行時應該是與使用Maven 3和OpenJDK 6/7/8在自己的機器上運行相同。在部署到Heroku之前,確保你能夠在本地工作。