Развертывание проекта Java в Heroku без зависимостей, поддерживаемых Maven

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

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

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

3 ответов


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

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

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


вам нужно настроить локальный репозиторий Maven, содержащий ваши фляги. Включите это РЕПО в свое РЕПО git. И добавьте РЕПО в :

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

файлы jar должны быть в стандартном макете РЕПО Maven и иметь контрольные суммы md5 & sha1.


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

<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 мог загрузить его во время развертывания.