2010-06-24 22 views
7

Acabo de empezar a aprender sobre servidores y estoy jugando con el motor de aplicaciones de Google. Estoy tratando de conseguir a través de tutorial de App Engine se encuentra here usando Eclipse en Mac, pero estoy recibiendo un problema que lee:Google App Engine: ADVERTENCIA: error Server @ 3d484a8a: java.net.BindException: dirección que ya está en 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. 

He intentado buscar el problema, y ​​no, el cuadrado rojo en la vista de la consola no es rojo De alguna manera, podría ser un problema de Mac, ya que mi amigo que también está pasando por el tutorial no está teniendo ningún problema. Tal vez algo que ver con localhost: 8888?

Respuesta

6

Esto significa que tiene otra instancia ejecutándose en el puerto o tiene otro programa escuchando en el puerto. ¿Qué más tienes en el puerto 8888?

Si desea personalizar cómo se inicia el servidor, puede crear una nueva configuración Run/Debug del tipo Web Application en Eclipse o cambiar la que ya tiene.

+0

Parece ser que tengo algo llamado guestbook2, que pensé que me deshice de él pero no pude localizar. –

+0

@ayanonagon Mátalo y luego prueba GAE nuevamente. O cambie el puerto para GAE como indiqué –

+0

Acabo de buscar "guestbook" en mi computadora y me deshice de todo lo que podría interferir. Parece estar funcionando ahora. ¡¡¡Gracias!!! –

2

Lo más probable es que tenga una instancia anterior en ejecución (seleccione el botón de selección de la consola, o simplemente File -> Reiniciar)

El error significa que el servidor web no se pudo enlazar con el puerto (como 8080, o el 80) se lo dijeron porque otro programa ya se ha atado a él.

+0

¿Es posible que un programa que llevé a la basura y que obtuve aún pueda estar vinculado a él?Y si es así, ¿hay alguna forma de desvincularlos? –

+0

probablemente no - No creo que Windows permita lanzar programas en ejecución en la Papelera. Intenta reiniciar Eclipse. –

2

Tiene una instancia anterior ejecutándose. Reinicie Eclipse y luego cada vez que ejecute una aplicación, simplemente finalícela antes de volver a ejecutarla u otra aplicación. Espero que te ayude

7

En mi caso estaba iniciando la aplicación, probándola, haciendo cambios en los archivos, y luego tratando de iniciar o probar nuevamente. Encontré esta solución.

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

que, entre otra información maravilloso de cuando se tiene que reiniciar y cuando no lo hace, dice: "Para detener el servidor, asegúrese de que se selecciona el panel de depuración, a continuación, haga clic en el Botón de Terminar: El botón de terminar Eclipse ".

para abrir el panel de depuración: Haga clic en Ventana -> Mostrar vista -> Otros ampliar la lista de depuración continuación, haga clic en Depurar

A continuación se muestra el panel de depuración y la Terminar botón es el cuadrado rojo en la parte superior derecho del panel de depuración.

Después de finalizar el servidor existente, debe ejecutar Ejecutar de nuevo, por supuesto.

1

El zócalo todavía está en uso. Utilice la siguiente línea de comandos:

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

Si está utilizando Maven para construir su proyecto, también puede editar su archivo y cambiar el pom.xml<port>8080</port> a un valor no utilizado.