2010-06-24 5 views
7

Ho appena iniziato a conoscere i server e sto facendo scherzi con App Engine di Google. Sto cercando di ottenere attraverso tutorial di App Engine situato here con Eclipse su Mac, ma io sono sempre un problema che recita:Google App Engine: ATTENZIONE: server non riuscito @ 3d484a8a: java.net.BindException: indirizzo già in uso

Jun 24, 2010 4:35:08 PM com.google.apphosting.utils.jetty.JettyLogger info 
INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger 
Jun 24, 2010 4:35:08 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml 
INFO: Successfully processed /Users/ayanonagon/Desktop/Venmo/iPhoneApplication/Guestbook/war/WEB-INF/appengine-web.xml 
Jun 24, 2010 4:35:08 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml 
INFO: Successfully processed /Users/ayanonagon/Desktop/Venmo/iPhoneApplication/Guestbook/war/WEB-INF/web.xml 
Jun 24, 2010 4:35:08 PM com.google.apphosting.utils.jetty.JettyLogger warn 
WARNING: failed [email protected]:8888: java.net.BindException: Address already in use 
Jun 24, 2010 4:35:08 PM com.google.apphosting.utils.jetty.JettyLogger warn 
WARNING: failed [email protected]: java.net.BindException: Address already in use 

************************************************ 
Could not open the requested socket: Address already in use 
Try overriding --address and/or --port. 

Ho provato a cercare il problema, e non, il quadrato rosso nella vista della console non è rosso. Potrebbe essere in qualche modo un problema Mac, dal momento che anche il mio amico che sta seguendo il tutorial non ha problemi. Forse qualcosa a che fare con localhost: 8888?

risposta

6

Ciò significa che si ha un'altra istanza in esecuzione sulla porta o si ha un altro programma in ascolto sulla porta. Cos'altro hai sulla porta 8888?

Se si desidera personalizzare la modalità di avvio del server, è possibile creare una nuova configurazione Run/Debug del tipo Web Application in Eclipse o modificare quella esistente in uso.

+0

Sembra che io abbia qualcosa chiamato guestbook2, che pensavo di aver eliminato ma non riesco a localizzare. –

+0

@ayanonagon Uccidilo e poi prova di nuovo GAE. O cambiare la porta per GAE come ho indicato –

+0

Ho appena cercato "guestbook" sul mio computer e mi sono liberato di tutto ciò che poteva interferire. Sembra che funzioni adesso. Grazie!!! –

2

è più probabile avere una precedente istanza in esecuzione (controllare il pulsante di selezione della console, o semplicemente su File -> Restart)

L'errore significa che il server web non poteva legarsi alla porta (come 8080, o 80) è stato detto a perché un altro programma si è già associato a esso.

+0

È possibile che un programma che ho spostato nel cestino e che ho ottenuto possa ancora essere associato ad esso?E se è così, c'è un modo per separarli? –

+0

molto probabilmente non - Non credo che Windows permetta di lanciare programmi in esecuzione nel Cestino. Prova a riavviare Eclipse. –

2

Hai un'istanza precedente in esecuzione. Riavvia Eclipse e poi ogni volta che esegui un'applicazione, basta terminarla prima di eseguirla di nuovo o un'altra applicazione. Spero che ti possa essere d'aiuto

7

Nel mio caso stavo avviando l'app, testandola, apportando modifiche ai file, quindi provando ad avviarla oa testarla di nuovo. Ho trovato questa soluzione.

Vedi http://code.google.com/appengine/docs/java/tools/eclipse.html#Running_the_Project

Quale, tra le altre informazioni meravigliosa di quando è necessario riavviare e quando non lo fai, dice: "Per arrestare il server, assicurarsi che il pannello di debug sia selezionata, quindi fare clic sul Pulsante Termina: il pulsante di fine Eclipse. "

per aprire il pannello di debug: Fare clic su Finestra -> Mostra Visualizza -> Altri espandere l'elenco Debug quindi fare clic su Debug

sarà ora visualizzato il pannello di debug e il Terminate pulsante è il quadrato rosso in cima a destra del pannello di debug.

Dopo aver terminato il server esistente, è necessario eseguire di nuovo Esegui.

1

La presa è ancora in uso. Utilizzare la seguente riga di comando:

sudo kill -9 $(lsof -i TCP:8888 | grep java | grep LISTEN | awk '{ print $2 }') 
0

Se si utilizza Maven per costruire il vostro progetto, è anche possibile modificare il file pom.xml e cambiare il <port>8080</port> ad un valore non utilizzato.