Развертывание нескольких проектов Maven на Heroku - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть несколько проектов maven, как показано в приведенной ниже структуре.

    .git

    folder a -> contains main class and with jetty server.

    | 
      main class
    |
      pom.xml

    folder b
    |
     other implementation classes of interface present in folder c
    |
     pom.xml

    folder c
    | 
      Models(Pojo)
    |
      Controller(Rest Controller)
    |
      pom.xml

Указанные выше 3 папки добавлены в путь к классам и отлично работают в локальной среде.Но когда я пытаюсь разместить его на сервере heroku, сборка сервера завершается неудачно по следующей причине:

Для этого приложения не найден язык по умолчанию.remote: СОВЕТ: это происходит, когда Heroku не может автоматически определить, какой пакет сборки использовать для этого приложения.remote: См. https://devcenter.heroku.com/articles/buildpacks

Мой pom.xml находится внутри подпапок, а основной класс находится в папке a.

Могу ли я добавить еще один pom.xml в корневую папку и указать это pom.xml от foldera?Или как я могу разместить его с помощью исполняемого файла jar?

Пожалуйста, помогите?

Ответы [ 2 ]

0 голосов
/ 20 июля 2019

это сообщение об ошибке означает, что Heroku не удалось автоматически определить тип приложения, которое вы пытаетесь развернуть: Ruby, Node, Python, PHP, Java и т. Д. Он ищет сигнатуры для каждого языка, который поддерживает (например, pom).XML-файл или файл package.json).и обычно это означает, что важный файл package.json не проверен в вашем git-репозитории:

Вы должны git add {file}, git commit -am 'добавил {file}' и затем git push herokuмастер

для более: ref: https://help.heroku.com/1MC2J0GF/why-does-my-app-fail-to-detect-a-buildpack

0 голосов
/ 27 февраля 2019

Вам нужно pom.xml в корневом каталоге, а затем настроить его так, чтобы подкаталоги были модулями.Это будет выглядеть примерно так:

<modules>
  <module>folder-a</module>
  <module>folder-b</module>
  <module>folder-c</module>
</modules>

Вам также может понадобиться настроить родительский файл pom.xml в подмодулях.Для получения дополнительной информации см. Maven Modules docs .

Тогда все зависит от того, хотите ли вы собрать все эти подмодули или только один.Если вы хотите собрать их все, добавьте Procfile в корневой каталог с помощью команды java, которая указывает на folder-a/target/myapp.jar или что-либо еще.

Если вы хотите запустить только один подмодуль, вы 'Вам все равно понадобится Procfile, но вы также захотите добавить опцию -pl в Maven, запустив:

$ heroku config:set MAVEN_CUSTOM_OPTS="-pl folder-a"

Затем при следующем развертывании Heroku запустит maven так, что толькомодуль в folder-a построен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...