我已经广泛查找了这个问题,但没有找到有用的答案。我正在尝试使用 Heroku部署此 API。这是一个预先存在的 GitHub 存储库,我遵循了 Heroku 的开发中心指南。我尝试通过 Git 和 Heroku Maven 插件进行部署,结果是一样的:我可以在本地构建它,一切都很好,但是当我 cd 到~/workspace/API/myapi/
并尝试将它推送到 Heroku 时,git push heroku main:main
我得到:
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.jar
,maven-wrapper.properties
和MavenWrapperDownloader.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
.pom.xml
、application.properties
等。我错过了什么?如果您需要其他信息,请告诉我。提前致谢!
看起来mvnw
您的项目目录的根目录中有一个文件,但缺少 Maven 包装器所需的其他文件。这些通常驻留在.mvn/wrapper
您的应用程序的目录中。你可能已经删除了它们。
您有两个选择:
mvnw
和mvnw.cmd
mvn -N io.takari:maven:0.7.7:wrapper
我会选择选项 2。通常首选使用包装器来确保您的项目使用您期望的 Maven 版本运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句