Digamos que você tenha um aplicativo desenvolvido com Gradle e implantado de forma independente (por exemplo, usando o plug-in de aplicativo Gradle). Um ótimo exemplo desse caso de uso é um servidor HTTP construído no Netty, em oposição ao uso da API Servlet.
Você deseja depurar o aplicativo. Como não está sendo executado em um contêiner, o mecanismo padrão de depuração via Jetty não está disponível para você.
Uma solução é aumentar sua tarefa JavaExec com outra tarefa que permitirá a execução do processo de depuração. Basta adicionar algo semelhante ao seguinte em seu build.gradle:
task(runDebug, dependsOn: 'classes', type: JavaExec) {
main = "com.mything.server.HttpServer"
classpath = sourceSets.main.runtimeClasspath
jvmArgs = ["-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"]
}
E BAM, você está de partida para as corridas na porta 5005!