从 Eclipse 推送到上游到 Heroku 服务器失败
Push to Upstream to Heroku server from Eclipse failed
我能够提交更改,但是当我向上游推送时,这是我收到的消息:
Repository git@heroku.com:protected-garden-XXXX.git
pre-receive hook declined
Compressing source files... done.
Building source:
-----> Java app detected
-----> Installing OpenJDK 1.6... done
-----> Installing Maven 3.3.1... done
-----> Executing: mvn -B -DskipTests=true clean install
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access[=10=]0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
! ERROR: Failed to build app with Maven
We're sorry this build is failing! If you can't find the issue in application code,
please submit a ticket so we can help: https://help.heroku.com/
! Push rejected, failed to compile Java app
Verifying deploy...
! Push rejected to protected-garden-XXXX.
可能是什么问题,因为我使用了默认示例 Eclipse >>> 项目 >>> :"Create Heroku App from Template" 并选择了嵌入式 Jetty-Servlet 应用程序,只是更改了 HelloServlet 第 20 行中的文本,然后提交。
heroku 支持团队的回答:(解决了我的问题)
Heroku 使用 pom.xml 文件构建项目的 Maven 3 不会 运行 在 Java 6 的任何版本上。它需要 Java 7 或之后。就个人而言,我建议直接使用最新版本 Java 8,因为 Oracle 或 OpenJDK 团队不再支持 Java 7。
您可以通过指定
在您的应用中升级Java
java.runtime.version=1.8
在:
system.properties
在项目的根目录中创建文件,然后推送您的应用程序。您还需要在本地安装相同版本的 Java,以便在推送之前测试您的应用。
我能够提交更改,但是当我向上游推送时,这是我收到的消息:
Repository git@heroku.com:protected-garden-XXXX.git
pre-receive hook declined
Compressing source files... done.
Building source:
-----> Java app detected
-----> Installing OpenJDK 1.6... done
-----> Installing Maven 3.3.1... done
-----> Executing: mvn -B -DskipTests=true clean install
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access[=10=]0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
! ERROR: Failed to build app with Maven
We're sorry this build is failing! If you can't find the issue in application code,
please submit a ticket so we can help: https://help.heroku.com/
! Push rejected, failed to compile Java app
Verifying deploy...
! Push rejected to protected-garden-XXXX.
可能是什么问题,因为我使用了默认示例 Eclipse >>> 项目 >>> :"Create Heroku App from Template" 并选择了嵌入式 Jetty-Servlet 应用程序,只是更改了 HelloServlet 第 20 行中的文本,然后提交。
heroku 支持团队的回答:(解决了我的问题)
Heroku 使用 pom.xml 文件构建项目的 Maven 3 不会 运行 在 Java 6 的任何版本上。它需要 Java 7 或之后。就个人而言,我建议直接使用最新版本 Java 8,因为 Oracle 或 OpenJDK 团队不再支持 Java 7。
您可以通过指定
在您的应用中升级Javajava.runtime.version=1.8
在:
system.properties
在项目的根目录中创建文件,然后推送您的应用程序。您还需要在本地安装相同版本的 Java,以便在推送之前测试您的应用。