我有一个gradle java项目,我试图让它在Heroku中运行。当我把它推到Heroku时,开始会崩溃:
[web.1]: no main manifest attribute, in build/libs/build_5a4de0d99cb0e389e770ac87d36d117e-0.0.1.war
[web.1]: Process exited with status 1
[web.1]: State changed from starting to crashed
然而,直接部署战争将起作用:
heroku war:deploy build/libs/*.war --app ***
...
-----> Packaging application...
- app: ***
- including: webapp-runner.jar
- including: build/libs/***.war
通过谷歌搜索我发现我应该在Procfile中指定webapp-runner,但到目前为止我还没能用gradle制作一个。我怎样才能生成一个,以及Heroku如何做到这一点?
答案 0 :(得分:0)
您需要build.gradle
中的以下内容:
dependencies {
compile 'com.github.jsimone:webapp-runner:8.5.11.3'
}
task stage() {
dependsOn clean, war
}
war.mustRunAfter clean
task copyToLib(type: Copy) {
into "$buildDir/server"
from(configurations.compile) {
include "webapp-runner*"
}
}
stage.dependsOn(copyToLib)
有关完整示例,请参阅kissaten/gradle-webapp-runner