有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring引导构建正常,但Heroku部署失败

我广泛地查找了这个问题,没有找到有用的答案。我正试着和Heroku一起部署this API。这是一个预先存在的GitHub存储库,我遵循了Heroku的devcenter指南。我尝试通过Git和Heroku Maven插件进行部署,结果是一样的:我可以在本地构建它,一切都很好,但当我cd到~/workspace/API/myapi/并尝试将其推到Heroku时,我得到:

Enumerating objects: 237, done.
Counting objects: 100% (237/237), done.
Delta compression using up to 4 threads
Compressing objects: 100% (179/179), done.
Writing objects: 100% (237/237), 91.06 KiB | 4.14 MiB/s, done.
Total 237 (delta 61), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Java app detected
remote: -----> Installing JDK 11... done
remote: -----> Executing Maven
remote:        $ ./mvnw -DskipTests clean dependency:list install
remote: ./mvnw: 219: ./mvnw: cannot open /tmp/build_f4dfb6d1/API/myapi/.mvn/wrapper/maven-wrapper.properties: No such file
remote: /tmp/build_f4dfb6d1/API/myapi/.mvn/wrapper/maven-wrapper.jar: No such file or directory
remote: Error: Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain
remote: Caused by: java.lang.ClassNotFoundException: org.apache.maven.wrapper.MavenWrapperMain
remote: 
remote:  !     ERROR: Failed to build app with Maven
remote:        We're sorry this build is failing! If you can't find the issue in application code,
remote:        please submit a ticket so we can help: https://help.heroku.com/
remote: 
remote:  !     Push rejected, failed to compile Java app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !       Push rejected to myapiheroku.
remote: 
To https://git.heroku.com/cashonlineheroku.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/myapiheroku.git'
  • /home/myuser/workspace/API/myapi/.mvn/wrapper/包含这些文件 maven-wrapper.jarmaven-wrapper.propertiesMavenWrapperDownloader.java
  • /home/myuser/workspace/API/myapi/system.properties指定
    java.runtime.version=11
  • /home/myuser/.m2/repository/ar/com/api/myapi/包含
    myapi.0.0.1-SNAPSHOT.jar
  • 你可以在 上面链接了存储库

我错过了什么? 如果你需要更多信息,请告诉我。提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    看起来项目目录的根目录中有一个mvnw文件,但缺少Maven wrapper所需的其他文件。它们通常位于应用程序的.mvn/wrapper目录中。你可能已经删除了它们

    你有两个选择:

    1. 删除Maven包装的其他文件:mvnwmvnw.cmd
    2. 重新安装Maven包装器缺少的文件:mvn -N io.takari:maven:0.7.7:wrapper

    我会选择第二种。通常,最好使用包装器,以确保项目以预期的Maven版本运行