Deploy файла war на heroku включая дополнительные файлы
Загружаю файл war на heroku и хочу добавить к нему дополнительный файл *.properties как описано здесь:
Configuring WAR Deployment with the Heroku CLI
$ heroku war:deploy application.war --app awesomeapp --jdk 14 --includes app1.properties
Сам файл war загружается нормально, но ни в одной подпапке в развернутом приложении я не могу найти файл app1.properties. Вместе с этим, все остальные файлы из архива war находятся на своих местах, дополнительный файл tomcat war-tracker и больше ничего. Если добавить туда какой-либо jar файл - результат такой же:
$ heroku war:deploy application.war --app awesomeapp --jdk 14 --includes app1.properties:some-lib.jar
Вопрос: куда heroku загружает дополнительные файлы? Как получить туда доступ?
Вот выхлоп heroku-cli:
Uploading application.war
-----> Packaging application...
- app: awesomeapp
- including: app1.properties
- including: some-lib.jar
- including: webapp-runner.jar
- including: application.war
-----> Creating build...
- file: slug.tgz
- size: 30MB
-----> Uploading build...
- success
-----> Deploying...
remote:
remote: -----> heroku-deploy app detected
remote: -----> Installing JDK 14... done
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing...
remote: Done: 96.9M
remote: -----> Launching...
remote: Released v14
remote: https://awesomeapp.herokuapp.com/ deployed to Heroku
remote:
-----> Done
Ответы (1 шт):
Как выяснилось, эти файлы загружаются в корневой каталог приложения в контейнере heroku, но не добавляются в папку развернутого приложения.
Проверить это можно, выполнив команду в web-console на их сайте: heroku run bash, затем ls, или cat app1.properties.
Чтобы получить доступ к этим файлам из приложения, можно сделать так:
String path = System.getProperty("user.home") + File.separator + "app1.properties";
Либо можно добавить аннотацию к классу конфигурации в spring:
@PropertySource(value="file:${user.home}/app1.properties", encoding="UTF-8")