2017-05-05 44 views
0

我有一個gradle java項目,我試圖讓它在Heroku中運行。當我把它推到Heroku的,一開始會崩潰:在Gradle中爲Heroku創建webapp-runner.jar

[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 

通過google搜索,我發現我應該在Procfile指定Web應用程序的領先者,但到目前爲止,我還沒有能夠使用gradle創建一個。我怎樣才能生成一個,以及Heroku如何做到這一點?

回答

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