我嘗試從文件中將屬性加載到Properties類中。我期望這個解決方案的工作:How to load property file from classpath in AWS lambda javaAWS Lambda Java如何讀取屬性文件
我有一個靜態方法很少,我想用它作爲配置持有人。裏面有這條線
final InputStream inputStream =
Config.class.getClass().getResourceAsStream("/application-main.properties");
它總是返回null。我下載了Lambda正在使用的zip包,該文件位於根目錄中。儘管如此,不工作。
任何人都有類似的問題?
編輯: 配置文件是在這裏:
project
└───src
│ └───main
│ └───resources
│ application-main.properties
編輯: 我的 「臨時」 的解決方法看起來像這樣:
// 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.");
}
}
在測試中,它從classpath中讀取,在AWS LAMBDA部署後它使用文件系統的運行時。爲了識別我使用的env變量文件:
fileName = System.getenv("LAMBDA_TASK_ROOT") + "/application-main.properties";
但是我寧願只是使用classpath而沒有解決這個問題。
謝謝您的回答。我試着用和不用斜槓(「config.properties」和「/config.properties」)。沒有工作。 – greg