如何在Heroku上部署java gradle应用程序



请帮助在Heroku上部署我的应用程序。从Heroku*获取错误消息

"应用程序错误。应用程序和您的页面中出现错误无法送达。请稍后再试。如果你是应用程序所有者,请查看日志以了解详细信息。"

Heroku的日志:

2016-07-21T22:11:30.966800+00:00 heroku[slug-compiler]: Slug compilation 
started 2016-07-21T22:11:30.773385+00:00 heroku[api]: Release v8 created by 
zzheads@gmail.com 2016-07-21T22:11:56.184847+00:00 heroku[router]: at=error 
code=H14 desc="No web processes running" method=GET path="/favicon.ico" 
host=zzheads-countries.herokuapp.com request_id=a03c9276-b038-4f9f-8e6d-
5f29f14b441 fwd="5.3.141.153" dyno= connect= service= status=503 bytes=

我的渐变构建文件:

group 'com.zzheads'
version '1.0-SNAPSHOT'
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath  'org.springframework.boot:spring-boot-gradle-plugin:1.3.6.RELEASE'
    }
}
apply plugin: 'java'
apply plugin: 'spring-boot'
sourceCompatibility = 1.8
repositories {
    mavenCentral()
}
dependencies {
    compile("org.springframework.boot:spring-boot-starter-thymeleaf")
}
task stage {
    dependsOn build
}

我的Proc文件:

web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/countries-1.0-SNAPSHOT.jar

您的构建可能会在目录build/libs中生成一个可执行的JAR文件。在您的Procfile:中尝试此操作

web: java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/countries-1.0-SNAPSHOT.jar

您可以通过运行在本地进行测试

$ ./gradlew stage
$ heroku local

我认为Heroku无法找到您的.jar,因为当它找不到版本属性时,gradle buildpack只使用它自己的构建id。因此,在您的procfile中的文件名下找不到.jar。您可以设置以下内容:

jar{
  baseName = 'countries-'
  version = '1.0-SNAPSHOT'
} 

所以Heroku研究了这些变量。请注意,如果您使用的是SpringBoot2.*,插件会禁用jar任务,并添加一个bootJar任务,然后您必须在该任务上将这些任务设置为变量。

这样,平台应该能够很好地找到您的工件。

此外,运行heroku logs -a <your-app-name-here> -t,您将在调试时获得有关应用程序状态的更多信息

相关内容

  • 没有找到相关文章

最新更新