小编典典

尝试在Rails Heroku应用上安装Java

java

My Rails应用程序依靠传统Java代码来实现其部分逻辑。它通过shell命令运行代码:javac whatever然后运行java whatever。但是,在部署到Heroku后,该请求失败,因为它无法定位javacjava

在Rails应用程序中安装Java的最佳方法是什么?我尝试使用带有以下.buildpacks的多buildpack解决方案:

https://github.com/heroku/heroku-buildpack-ruby.git
https://github.com/heroku/heroku-buildpack-java.git

但是我得到这个错误:

=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-java.git

 !     Push rejected, failed to compile Multipack app

我尝试派生Ruby buildpack并从那里直接安装Java,但是我真的不知道我在做什么。有任何想法吗?


阅读 202

收藏
2020-11-26

共1个答案

小编典典

尝试使用heroku-buildpack-jvm-common而不是Java buildpack。因此,您的.buildpacks文件将如下所示:

https://github.com/heroku/heroku-buildpack-jvm-common.git
https://github.com/heroku/heroku-buildpack-ruby.git

最好将JVM放在Ruby之前,javac或者java在编译/构建时需要将JVM放在Ruby之前。

JVM buildpack本质上与Java
buildpack相同,但是不安装Maven,因此不需要pom.xml文件。缺少的pom.xml是为什么我会得到该错误。

编辑

在现代时代,您还可以运行:

$ heroku buildpacks:add heroku/jvm
$ heroku buildpacks:add heroku/ruby
2020-11-26