Heroku 404'ing зависимости статических файлов

Недавно я начал работать над Java-приложением Heroku.

Все шло хорошо, пока я не перевел сервер из промежуточного состояния в производство... (но это может быть не связано)

В приложениях используются следующие пакеты сборки: Java Nodejs Bower

Беседка используется только для установки Gentelella

Проблема в том, что теперь он ничего не загружает с них. Вроде правильно установлен, и если я bash на сервер я вижу файлы.

Если я захожу через браузер в /resources/style.css, который не устанавливается через Bower, он работает нормально, и я вижу файл. Если я зайду, например, на /resources/bower_components/gentelella/vendors/jquery/dist/jquery.min.js, это даст мне 404

Если я захожу на сервер, я вижу файл в правильном месте, и у него, похоже, есть необходимые разрешения.

~ / web / resources / bower_components / gentelella / vendors / jquery / dist $ ls -l всего 296

-rw------- 1 u32669 dyno  85658 Jan 25  2017 jquery.js
-rw------- 1 u32669 dyno  85578 Jan 25  2017 jquery.min.js
-rw------- 1 u32669 dyno 129572 Jan 25  2017 jquery.min.map

Я почистил кеш, перезапустил динамов и другие глупые "решения".

Любая другая идея, что еще это может быть?

ОБНОВИТЬ

Выяснилось, что фактическое место, где обслуживаются файлы: target / tomcat. / Webapps / extended / resources

Скопировал все bower_components в эту папку как временное решение, и теперь оно работает нормально, но я хочу понять, почему это происходит.

Поэтому я думаю, что мне нужно установить это как правильный путь где-то еще в настройках Heroku или где-то еще?

1 ответ

Проблема была связана с порядком сборки пакетов.

При запуске пакета сборки Java он копирует веб-ресурсы в общедоступный каталог Tomcat. То, что происходило, было то, что Java buildpack был запущен первым, поэтому установка bower никогда не копировалась в правильный каталог.

Просто изменив порядок, чтобы сделать Java buildpack последним, чтобы запустить исправил его.

Другие вопросы по тегам