ファイル読み取ります。私は、このソリューションが動作するように期待:How to load property file from classpath in AWS lambda javaAWSラムダJavaの私は、ファイルのプロパティからクラスにプロパティをロードしようとどのような特性が
私はいくつかの静的メソッドを持つクラスを持っていると私はコンフィグホルダーとして使用します。その中にはこの行があります。
final InputStream inputStream =
Config.class.getClass().getResourceAsStream("/application-main.properties");
常にnullを返します。私はLambdaが使用しているzipパッケージをダウンロードし、ファイルはルートの中にあります。それにもかかわらず動作しません。
誰でも同様の問題がありましたか?
EDIT: 設定ファイルはここにある:
project
└───src
│ └───main
│ └───resources
│ application-main.properties
はEDIT: 私の "一時的な" 問題を回避するには、以下のようになります。それはクラスパスから読み込む試験中
// LOAD PROPS FROM CLASSPATH...
try (InputStream is = Config.class.getResourceAsStream(fileName)) {
PROPS.load(is);
} catch (IOException|NullPointerException exc) {
// ...OR FROM FILESYSTEM
File file = new File(fileName);
try (InputStream is = new FileInputStream(file)) {
PROPS.load(is);
} catch (IOException exc2) {
throw new RuntimeException("Could not read properties file.");
}
}
、AWSラムダでの展開後ランタイムはファイルシステムを使用します。ファイルを識別するために、私はenv変数を使用しました:
fileName = System.getenv("LAMBDA_TASK_ROOT") + "/application-main.properties";
しかし、私はむしろこれを回避することなくクラスパスを使用したいと思います。
は、あなたの答えをいただき、ありがとうございます。私はスラッシュ( "config.properties"と "/config.properties")の有無にかかわらず試しました。何も働かなかった。 – greg