将jar安装到heroku上的maven存储库

时间:2018-03-15 22:23:09

标签: java maven heroku

我有一个.jar,它在Maven Central或其他任何其他位置都没有,我猜Maven默认会从中取出。对于我的本地设置,我将它安装到我的本地Maven存储库,之后它运行良好(在import another jar's program into my jar中讨论) - 这意味着我在IntelliJ中的import语句现在工作正常。

但现在我需要将我的应用程序部署到Heroku。所以我有点困惑:如果我保持原样,Heroku构建将失败Could not find artifact com.my.company:MyJar:jar:1.0。但我在我的应用程序中需要这样或那样的jar,所以我不认为摆脱依赖是要走的路。

我不确定从哪里开始。我可以直接在我推送到Heroku的文件中使用.jar,但我想我需要一种方法在pom.xml中指定一些内容,例如"将以下目录视为存储库。"但我不确定这是否正确。

1 个答案:

答案 0 :(得分:0)

这种类型的JAR文件称为非托管依赖项。 Heroku有a guide for vendoring JARs like this in your Git repo

简而言之,您运行如下命令:

$ mvn deploy:deploy-file -Durl=file:///path/to/yourproject/repo/ -Dfile=mylib-1.0.jar -DgroupId=com.example -DartifactId=mylib -Dpackaging=jar -Dversion=1.0

并将文件系统设置为pom.xml中的存储库,如下所示:

<repositories>
    <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file:${project.basedir}/repo</url>
    </repository>
</repositories>

Heroku guide to unmanaged dependencies有更详细的信息。