I am able to run embedded jetty with gradle jettyRunWar command. However, it is not automatically stopped on program termination.
I tried below two code after searching the solution on stackoverflow and other forums. But none works.
1) build.gradle
apply plugin: 'jetty'
task runJetty() {
jettyStop.stopPort = 8090
dependsOn jettyRunWar
finalizedBy jettyStop
}
2) build.gradle
apply plugin: 'jetty'
task runJetty() {
doFirst {
jettyRunWar.stopPort = 8090
jettyRunWar.stopKey = 'stopKey'
jettyRunWar.daemon = true
tasks.jettyRunWar.execute()
}
doLast {
jettyStop.stopPort = 8090
jettyStop.stopKey = 'stopKey'
tasks.jettyStop.execute()
}
}
In both cases, on running runJetty task, embedded jetty server starts but did not stop on program termination.
FWIW: I am using Eclipse External Tools Configuration to start and terminate build.gradle. And, using 8080 port in the url to test.
In 2) try setting the stopPort to something else, such as 8090.
I think you are actually running jetty on 8080 so that port will be occupied and you are unable to set up a 'stop' listener.
Otherwise you can just put the following in your build.gradle
Here is an example that worked for me in intelliJ http://pastebin.com/eTtvCdTb
I run 'jettyRunWar' and 'jettyStop' from the Gradle tasks panel in intelliJ. I've only set the parameters up for jettyRun just in case I run that task by accident, I can then shut the server down.