在没有Maven支持的依赖项的情况下将Java项目部署到Heroku

时间:2011-09-19 09:58:25

标签: java maven heroku

是否有人使用Heroku for Java?

我有一个Java项目,我想在Heroku上部署。该项目使用一些包含重要依赖项的外部JAR文件。

有谁能告诉我如何使用这些JAR文件将项目部署到Heroku? Maven无法在Heroku上下载这些JAR文件。

3 个答案:

答案 0 :(得分:7)

我们刚刚发布了一个指南,展示如何将这样的依赖项添加到您的项目中:

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

请告诉我这是否适合您。

答案 1 :(得分:2)

您需要设置包含jar的本地Maven存储库。在你的git repo中包含repo。并将repo添加到pom.xml文件中:

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

jar文件必须是标准的Maven repo布局,并且有md5&amp; sha1校验和。

答案 2 :(得分:0)

您可以使用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)部署到存储库,以便Heroku内的Maven可以在部署期间下载它。