1

こんにちは、heroku Java 開発は初めてです。プロジェクトディレクトリからconfig.jsonファイルを読みたいのですが、どうにかしてファイルをどこに保存する必要があるのか​​ わかりません。src>main>resources で同じままにしようとしましたが、展開後にまだ filenotfound が発生しています。ファイルを参照する方法はありますか?. 私のファイルは src/main/resources/config.json にあります。

このようなことをしてみました

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

主な問題は、config.json ファイルを保存する場所がわからないことです。

4

1 に答える 1

4

あなたがしていることの一般的な考え方はうまくいくはずであり、クラスパスで利用できるようにMavenビルド中src/main/resourcesにコピーされるので、Mavenプロジェクトでそのようなファイルを保持するのに適切な場所ですtarget/classesが、いくつかのポインター:

  • ファイルの大文字と小文字が正しくなっていることを確認してください。ファイルは。config.jsonであるとおっしゃいましたが、コードはを使用していますConfig.json

  • LoadConfig.classパッケージディレクトリにあるファイルに関連するファイルをロードしています。たとえば、完全修飾名がcom.example.LoadConfig.classである場合、ベースではなくディレクトリで検索Config.jsonします。簡単にするために、システムクラスローダーを使用してファイルをロードすると、次のように相対パスについて考える必要がなくなります。target/classes/com/exampletarget/classes

    FileInputStream stream = new FileInputStream(ClassLoader.getSystemResource("Config.json").getPath());
    
  • Herokuでのビルドとランタイムは、Maven3とOpenJDK6/7/8を使用して自分のマシンで実行する場合と同じである必要があります。Herokuにデプロイする前に、これをローカルで機能させることができることを確認してください。

于 2013-02-03T02:32:46.730 に答える