Я развернул веб-приложение JavaEE (с jsf, javabean, ejb, di и т. Д.) На Heroku. Heroku будет позволяет запускать сценарий оболочки для запуска вашего приложения как класс с основным методом или исполняемым .jar-файлом. Не на предварительно установленном сервере приложений fullstack. Также, если вы запустите java-приложение на Heroku, ваш проект должен быть maven.
Чтобы заставить его работать из командной строки вы можете использовать облако готовый бежать куда угодно крошечные серверы, как payara-micro, wildfly-swarm, spring-boot. Он превращает ваше приложение и сервер в единую исполняемую банку (Uber JAR). Также в котте и причале есть обертки для сборки uberJar.
Я использую payara-micro, и это здорово, что очень маленькая банка может запускать почти все функции JavaEE с репликацией сеанса. Следуйте по этой ссылке для получения инструкций payara-micro how to (читайте также разделы maven).
Когда вы нажмете на Heroku (с помощью инструмента heroku cli), он автоматически построит ваш проект и запустит сценарий из файла Procfile из корневого каталога вашего проекта. Образец PROCFILE:
web: java -jar target/myapp.jar --port $PORT
Рассмотрим $PORT
часть из выше фрагмента кода. Когда запускается Heroku (dyno), он откроет случайный порт (я так думаю) и привяжу к переменной среды $PORT
. Итак, здесь я , проезжая, чтобы получить доступ к порту payara-micro для прослушивания. Другие упомянутые серверы должны работать с аналогичными процедурами. Вы можете найти документацию на heroku devcenterr
Для JPA и подключения к базе данных Heroku предоставляет JDBC_DATABASE_URL
и DATABASE_URL
переменные окружения, которые имеют информацию о соединении (URL и т.д.) для вас в connect database. Я не могу найти способ подключить эти переменные к persistence.xml
. Но вы можете создавать и настраивать EntityManagerFactory
и EntityManager
программно.
Надеюсь, что это поможет.
dup https://stackoverflow.com/questions/38603284/heroku-deploy-with-java-jpa-not-use-spring –
Приветствую вас, пожалуйста, я хочу найти ошибку. –