При запуске кода Java в среде выполнения AWS Lambda Java (Java 11 или Java 8) кажется, что системное свойство user.home
установлено, но каталог не существует (согласно File.exists()
). Это ожидается или ошибка?
Вот фрагмент кода, демонстрирующий проблему:
File userHome = new File(System.getProperty("user.home"));
LOG.info("user.home: {} exists: {} ", userHome, userHome.exists());
File javaIoTmpdir = new File(System.getProperty("java.io.tmpdir"));
LOG.info("java.io.tmpdir: {} exists: {} ", javaIoTmpdir, javaIoTmpdir.exists());
И вот соответствующий вывод журнала:
user.home: /home/sbx_user1051 exists: false
java.io.tmpdir: /tmp exists: true
Кажется несколько удивительным, что user.home
system свойство будет установлено так, чтобы указывать на каталог, который не существует. Или я упускаю из виду что-то очевидное?
Предыстория: Я столкнулся с этой проблемой, пытаясь использовать стороннюю библиотеку, которая не работает правильно в случае, когда каталог user.home
не существует.