Podążam za tokiem aplikacji Udacity App Engine, ale jako drukarz używam Gradle i IDEA (edycja Open Source).Jak debugować lokalny serwer AppEngine z IDEA + Gradle?
mam setup projekt z powodzeniem przy użyciu następujący plik build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.7'
}
}
apply plugin: 'war'
apply plugin: 'appengine'
sourceCompatibility = 1.8
version = '1.0'
appengine {
daemon = true
downloadSdk = true
appcfg {
oauth2 = true
}
}
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.7'
compile 'com.google.inject:guice:3.0'
compile 'com.googlecode.objectify:objectify:5.0.3'
compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.7'
compile 'com.google.appengine:appengine-endpoints:1.9.7'
compile 'javax.servlet:servlet-api:2.5'
compile 'javax.inject:javax.inject:1'
testCompile 'junit:junit:4.11'
testCompile 'com.google.appengine:appengine-testing:1.9.7'
testCompile 'com.google.appengine:appengine-api-stubs:1.9.7'
}
Używam lokalny serwer dev z IDEA użyciem Gradle uruchomić konfigurację z konfiguracją appengineRun
i zatrzymywanie go przy użyciu innego zadania dla appengineStop
. To działa, ale nie mam możliwości debugowania, ponieważ punkty przerwania, które stawiam, nie są trafione.
Wierzę, że ten problem z przerwami jest taki, że IDEA nie ma pojęcia (jestem okropny z powodu kalamburów), że musi podłączyć się do serwera pomostu, który wspiera serwer AppEngine, ale jest to dzikie uderzenie, ponieważ nie znam Elementy wewnętrzne IDEA, a tym bardziej sposób, w jaki wykonuje on egzekucje Gradle.
Jak mogę odzyskać zdolność breakpoint? Czy jest to możliwe bez niestandardowej wtyczki?
Czy kiedykolwiek odkryłeś lepszy sposób na zrobienie tego? Jest to trochę denerwujące, ponieważ ma dwustopniowy proces debugowania. –
Nie. Po prostu interesowałem się tworzeniem stron w Javie, więc ledwo podrapałem powierzchnię. Programista .Net w sercu. Przepraszam. – Machinarius