Arhn - архитектура программирования

развертывание приложения Spring на Heroku

Я разрабатываю веб-сервисы Spring с использованием MongoDB и создаю их с помощью gradle. Я хотел бы развернуть его на Heroku. Я делаю push в соответствии с документацией, и я изменил пакет сборки на gradle, в соответствии с этим: https://devcenter.heroku.com/articles/buildpacks

Сначала я делаю git init, затем добавляю все с помощью git add . и коммичу с помощью git commit -m "message". После этой стандартной процедуры я пушу все на хероку с помощью git push heroku master.

После этого загружаются зависимости и после этого я получаю ошибку:

1 error
:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'
> Compilation failed; see the compiler error output for details.

...

BUILD FAILED

А вот мой build.gradle:

buildscript {
    repositories {
        maven { url "http://repo.spring.io/libs-release" }
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.7.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'

jar {
    baseName = 'appname'
    version = '0.1.0'
}

repositories {
    mavenLocal()
    mavenCentral()
    maven { url "http://repo.spring.io/libs-release" }
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")

    compile("org.springframework.boot:spring-boot-starter-actuator")
    testCompile("junit:junit")

    compile("org.springframework.data:spring-data-rest-webmvc")
    compile("org.springframework.data:spring-data-mongodb")

    compile("com.google.guava:guava:17.0")
    compile("org.apache.commons:commons-lang3:3.3.2")
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}

task stage(dependsOn: ['clean', 'installApp'])

У кого-нибудь есть решение для этого? Заранее спасибо.


  • Ваше приложение просто не компилируется. Это может быть по любому количеству причин. Попробуйте просто локально запустить сборку Gradle с помощью gradlew compileJava. Вы должны получить более полезное сообщение. 09.10.2014
  • Приложение работает правильно локально, используя gradle compileJava. gradlew не работает с моим cmd. 09.10.2014
  • Попробуйте удалить maven local из списка репозиториев. Это может вызвать проблемы при удаленной сборке. 10.10.2014
  • Нет, у меня все еще такая же ошибка, даже если я удалил mavenLocal(). 14.10.2014
  • Можете ли вы попробовать удалить apply plugin: 'application' и mavenLocal() 11.09.2015

Ответы:


1

Возможно, это лучший способ показать вам лучший набор файлов, и вы сможете сравнить, где мы отличаемся. Одна из самых важных вещей, о которых следует упомянуть, это то, что вы даже не компилируете, что может не иметь ничего общего с компиляцией на стороне Heroku.

Ссылка на проект Github, если кому нужно! https://github.com/arose13/Heroku-Spring-Gradle_Example

Прокфайл

web: java $JAVA_OPTS -Dserver.port=$PORT -jar app.jar

Пример файла Gradle

group 'com.springtest.api'
version '1.0-SNAPSHOT'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.5.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'

mainClassName = "hello.Application"

jar {
    baseName = 'spring-test-api'
    version = '0.1.0'
}

repositories {
    mavenCentral()
}

sourceCompatibility = 1.8

dependencies {
    testCompile 'junit:junit:4.11'

    // Spring Framework
    compile 'org.springframework.boot:spring-boot-starter-web'

}

task wrapper(type: Wrapper) {
    gradleVersion = '2.6'
}

task stage(type: Copy, dependsOn: [clean, build]) {
    from jar.archivePath
    into project.rootDir
    rename {
        'app.jar'
    }
}
stage.mustRunAfter(clean)

clean << {
    project.file('app.jar').delete()
}
11.09.2015
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..