Я добавил system.properties
с java.runtime.version=1.7
и создал приложение в heroku, чтобы запустить файл войны весны mvc, используя причал
anadi$ heroku apps:create gogreen
Creating gogreen... done, stack is cedar
http://gogreen.herokuapp.com/ | [email protected]:gogreen.git
Git remote heroku added
anadi$ cat system.properties
java.runtime.version=1.7
anadi$ cat Procfile
web: java $JAVA_OPTS -jar build/libs/jetty-runner.jar --port $PORT build/libs/*.war
git показывает файлы, добавленные в индекс
anadi$ git ls-files gradle/
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties
однако развертывание не выполняется
здесь журнал ошибок от героку
anadi$ git push heroku master
Initializing repository, done.
Counting objects: 368, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (178/178), done.
Writing objects: 100% (368/368), 192.45 KiB | 52.00 KiB/s, done.
Total 368 (delta 148), reused 353 (delta 140)
-----> Gradle app detected
-----> Installing OpenJDK 1.6... done
-----> Building Gradle app...
WARNING: The Gradle buildpack is currently in Beta.
-----> executing ./gradlew stage
Exception in thread "main" java.lang.NoClassDefFoundError: org/gradle/wrapper/GradleWrapperMain
Caused by: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.gradle.wrapper.GradleWrapperMain. Program will exit.
! Failed to build app
! Push rejected, failed to compile Gradle app
To [email protected]:gogreen.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:gogreen.git'
Я исправил ту же проблему, нажимая файлы обертки графа на мастер герой.
Внутри вашей программы запуска gradle wrapper
: оболочка gradle wrapper
, которая создает gradle/
directory и gradlew
. Зафиксируйте и нажмите на них вместе с вашим кодом, а затем он должен начать работать.
Если задача wrapper
не найдена, добавьте следующее в build.gradle
task wrapper(type: Wrapper) {
gradleVersion = '1.6'
}
На git push heroku master
вы должны увидеть Downloading https://services.gradle.org/distributions/gradle-1.6-bin.zip
в консольном журнале, например:
-----> Gradle app detected
-----> Installing OpenJDK 1.7... done
-----> Building Gradle app...
WARNING: The Gradle buildpack is currently in Beta.
-----> executing ./gradlew stage
Downloading https://services.gradle.org/distributions/gradle-1.6-bin.zip
................................................
git add system.properties
чтобы Heroku использовала правильную версию Java.