Развертывание проекта Java в Heroku без зависимостей, поддерживаемых Maven - PullRequest
8 голосов
/ 19 сентября 2011

Кто-нибудь работает с Heroku для Java?

У меня есть один проект Java, который я хочу развернуть на Heroku.Этот проект использует некоторые внешние файлы JAR, которые содержат важные зависимости.

Может кто-нибудь сказать мне, как развернуть мой проект с этими файлами JAR в Heroku?Maven не может загрузить эти JAR-файлы на Heroku.

Ответы [ 3 ]

7 голосов
/ 28 сентября 2011

Мы только что опубликовали руководство, показывающее, как добавить такие зависимости в ваш проект:

http://devcenter.heroku.com/articles/local-maven-dependencies

Дайте мне знать, если это работает для вас.

2 голосов
/ 19 сентября 2011

Вам необходимо установить локальный репозиторий Maven, содержащий ваши файлы jar.Включите это репо в ваш репозиторий git.И добавьте репо в файл pom.xml:

<repositories>
    <repository>
        <id>local-libs-dir</id>
        <name>locallib</name>
        <url>file:${project.basedir}/libs</url>
    </repository>
</repositories>

Файлы jar должны быть в стандартном макете репозитория Maven и иметь контрольные суммы md5 & sha1.

0 голосов
/ 25 октября 2012

Вы можете использовать jcabi-heroku-maven-plugin , который автоматизирует весь процесс развертывания:

<plugin>
    <groupId>com.jcabi</groupId>
    <artifactId>jcabi-heroku-maven-plugin</artifactId>
    <version>0.4.1</version>
    <configuration>
      <name>my-test-app</name>
      <artifacts>
        <artifact>com.example:example-app:jar::${project.version}</artifact>
      </artifacts>
      <procfile>web: java -Xmx256m -jar ./example-app.jar \${PORT}</procfile>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>deploy</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

Кроме того, вы должны развернуть свой артефакт (JAR / WAR) в своем хранилище, чтобы Maven внутри Heroku мог загрузить его во время развертывания.

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