jhipster 应用程序部署到 Heroku 时出错

jhipster application deployment to Heroku giving error

我正在尝试使用 ubuntu 将我的 jhipster 生成的应用程序部署到 heroku。当我输入:

echo $JAVA_HOME

,我得到 /usr/lib/jvm/java-8-oracle

但是在使用 jhipster 命令将应用程序部署到 heroku 时,出现以下错误。

    sudo jhipster heroku


Using JHipster version installed locally in current project's node_modules
Executing jhipster:heroku
Options: 
Heroku configuration is starting
Deploying as existing app: infinite-savannah-43112

Using existing Git repository

Heroku CLI deployment plugin already installed

Provisioning addons
No new addons created

Creating Heroku deployment files
identical src/main/resources/config/bootstrap-heroku.yml
identical src/main/resources/config/application-heroku.yml
identical Procfile
identical pom.xml
identical pom.xml

Building application
✖ { Error: Command failed: ./mvnw verify -DskipTests=true -B -Pprod
Error: JAVA_HOME is not defined correctly.
  We cannot execute /usr/lib/jvm/java-9-openjdk-amd64/bin/java/bin/java

    at ChildProcess.exithandler (child_process.js:272:12)
    at ChildProcess.emit (events.js:160:13)
    at maybeClose (internal/child_process.js:943:16)
    at Socket.stream.socket.on (internal/child_process.js:363:11)
    at Socket.emit (events.js:160:13)
    at Pipe._handle.close [as _onclose] (net.js:562:12)
  killed: false,
  code: 1,
  signal: null,
  cmd: './mvnw verify -DskipTests=true -B -Pprod' }
Congratulations, JHipster execution is complete!

甚至我的 JAVA_HOME 都指向 Java-8-oracle,为什么 jhipster 抛出错误说 JAVA_HOME 指向其他东西以及对此的任何修复

您正在使用 JHipster 不支持的 JDK 9。您不需要使用 sudo,它非常不安全。我假设您将 Node 安装为 sudo,您应该考虑正确地重新安装 Node(可能使用 nvm)并更改项目文件的所有权。您的错误可能来自 sudo 命令。

如果您手动将 .yo-rc.json 中的 herokuDeployType 值编辑为:

"herokuDeployType": "git"

那么下次你 运行 jhipster heroku 它将 运行 Heroku 上的 Maven。