У меня проблема с моим приложением Spring, созданным с помощью Gradle. Приложение включает MongoDB (MongoHQ от Heroku).
Мне удалось как все нажать на герою, я добавил этот код в свой проект:
@Configuration
public class MongoHQConfiguration {
public @Bean MongoDbFactory mongoDbFactory() throws MongoException, UnknownHostException {
return new SimpleMongoDbFactory(new MongoURI(System.getenv("MONGOHQ_URL")));
}
public @Bean MongoTemplate mongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
}
После изменения buildpacks на один с помощью gradle, я нажал все на бесплатную учетную запись Heroku с помощью SandoHQ Sandbox.
Но после попытки запустить мое приложение через веб-браузер, я получаю эту ошибку:
Произошла ошибка в приложении, и ваша страница не могла быть отправлена. Повторите попытку через несколько минут.
Если вы являетесь владельцем приложения, проверьте свои журналы для деталей.
heroku logs
дает мне этот результат:
2014-10-15T18: 19: 30.293964 + 00: 00 heroku [web.1]: запуск с помощью команды
java -Xmx384m -Xss512k -XX:+UseCompressedOops -jar build/libs/*.jar
2014-10-15T18: 19: 30.797673 + 00: 00 app [web.1]: Ошибка: невозможно получить доступ к jarfile build/libs/*. jar
2014-10-15T18: 19: 31.474525 + 00: 00 heroku [web.1]: состояние изменено с момента запуска до разбитого
2014-10-15T18: 19: 31.464753 + 00: 00 heroku [web.1]: процесс завершен со статусом 1
2014-10-15T18: 19: 32.577398 + 00: 00 heroku [router]: at = код ошибки = H10 desc = "Ошибка приложения" = GET path = "/" host = tvmaniac.herokuap p.com request_id = 7e8bfe6c-2669-405e-9bce-59fde09f71ef fwd = "89.129.247.185" dyno = connect = service = status = 503 bytes =
2014-10-15T18: 19: 34.016281 + 00: 00 heroku [router]: at = код ошибки = H10 desc = "Ошибка приложения" = GET path = "/favicon.ico" host = tvmani ac.herokuapp.com request_id = 4300386e-dc5c-47ed-9878-0bee87128fc9 fwd = "89.129.247.185" dyno = connect = service = status = 503 bytes =
2014-10-15T18: 19: 41.988204 + 00: 00 heroku [router]: at = код ошибки = H10 desc = "Ошибка приложения" = GET path = "/" host = tvmaniac.herokuap p.com request_id = 436db871-ea8c-428f-8cc7-160c3cb96a2d fwd = "50.16.146.194" dyno = connect = service = status = 503 bytes =
Я думаю, проблема в Procfile, но я понятия не имею, что мне добавить туда, вот мой текущий код:
default_process_types:
web: java $JAVA_OPTS -jar build/libs/*. jar
EDITED
Здесь мой build.gradle:
buildscript {
repositories {
maven { url "http://repo.spring.io/libs-release" }
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.8.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
mainClassName = "com.shalastra.tvmaniac.TVManiacConfiguration"
jar {
baseName = 'tvmaniac'
version = '0.1.0'
}
repositories {
mavenCentral()
maven { url "http://repo.spring.io/libs-release" }
maven { url "http://m2.neo4j.org" }
}
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 = '2.0'
}
task stage(dependsOn: ['clean', 'build', 'installApp'])
Заранее благодарим за помощь.