2011-08-04 17 views
8

No puedo iniciar Glassfish 3.1 en Eclipse Indigo con el complemento "Oracle Glassfish Server Tools" en Windows 7. Después de instalar el complemento, elegí "Nuevo" -> "Servidor" en el servidor ver y hacer clic en GlassFish 3.1 y descargar la instalación a través de Eclipse.Glassfish 3.1 CREDENTIAL_ERROR en Eclipse

Cada vez que trato de iniciarlo, he el siguiente mensaje:

The Eclipse plugin cannot communicate with the GlassFish server, 
status is :CREDENTIAL_ERROR 

he descubierto que la contraseña inicial es 'changeit' y yo he cambiado a mi cuenta, en la línea de comandos:

bin/asadmin change-master-password domain1 
Enter the current master password> 
Enter the new master password> 
Enter the new master password again> 
Command change-master-password executed successfully. 

he cambiado en consecuencia en GlasshFish pantalla de configuración 3.1 dentro de Eclipse en el servidor de sección Aplicación (contraseña de administrador).

Los puertos situados (8080, 4848) parece compatible con la configuración domain.xml:

<network-listeners> 
    <network-listener port="8080" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener> 
    <network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener> 
    <network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener> 
</network-listeners> 

Sin embargo, en mi .log encuentro lo siguiente:

!ENTRY oracle.eclipse.tools.glassfish 4 1 2011-08-04 11:38:43.925 
!MESSAGE GlassFish: error 
!STACK 0 
java.net.ConnectException: Connection refused: connect 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:525) 
    at java.net.Socket.connect(Socket.java:475) 
    at sun.net.NetworkClient.doConnect(NetworkClient.java:163) 
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:394) 
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:529) 
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:233) 
    at sun.net.www.http.HttpClient.New(HttpClient.java:306) 
    at sun.net.www.http.HttpClient.New(HttpClient.java:323) 
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801) 
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726) 
    at com.sun.enterprise.jst.server.sunappsrv.commands.CommandRunner.call(CommandRunner.java:607) 
    at com.sun.enterprise.jst.server.sunappsrv.commands.CommandRunner.call(CommandRunner.java:1) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:619) 

!ENTRY oracle.eclipse.tools.glassfish 4 150 2011-08-04 11:38:43.928 
!MESSAGE The Eclipse plugin cannot communicate with the GlassFish server, status is :CREDENTIAL_ERROR 
!STACK 0 
java.lang.RuntimeException: The Eclipse plugin cannot communicate with the GlassFish server.Status is :CREDENTIAL_ERROR 
    at com.sun.enterprise.jst.server.sunappsrv.SunAppServerLaunch.launch(SunAppServerLaunch.java:163) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:696) 
    at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3404) 
    at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3342) 
    at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:363) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 

lo tanto, parece que la El mensaje de error que se muestra en la interfaz es engañoso, por lo que yo entiendo, debería ser un problema de conexión, no de contraseña. ¿Alguien sabe cómo resolver este problema?

+0

El desarrollo de Java en Windows 7 puede ser una de las causas de sus problemas. Con Linux nunca tuve problemas con los Firewalls y los puertos bloqueados. En una tarea, actualmente tengo que usar Windows para ejecutar un servicio DB y ahora espero la respuesta [en otro foro SE] (http://superuser.com/questions/319412/open-port-for-microsoft-sql-database -connection-from-outside-the-windows7-compute) sobre un problema similar al tuyo :) – mico

+0

Ok, probaré con Linux ... te lo haré saber. ¡Gracias por ahora! – stivlo

+0

@mico Pensé que era algo mal con la configuración, en cambio después de apagar la alarma de zona (firewall), funciona perfectamente. De hecho, en general trabajo en Linux, pero ahora que uso Maven y Git es fácil cambiar de un lado a otro. Genial, ahora también puedo experimentar con Glassfish y ver si tengo algún problema de compatibilidad con mi aplicación. – stivlo

Respuesta

1

Después de deshabilitar el firewall de ZoneAlarm, pude iniciar GlassFish en Windows. Sin embargo, entonces comencé a tener muchos problemas no relacionados y molestos, y como sugirió Mico, volví a usar Linux, que es mi plataforma de desarrollo habitual, y todo salió bien.

para documentar el proceso:

  1. con Eclipse Indigo, GlassFish conector no está presente de forma predeterminada. En la pestaña del servidor de WTP, haga clic con el botón derecho y seleccione Nuevo -> Servidor y haga clic en el enlace "Descargar adaptadores de servidor adicionales", elija GlassFish y presione Siguiente, acepte la licencia y Finalice.

  2. Esta vez he descargado GLASSFISH a mí mismo de http://glassfish.java.net/ y elegir la plataforma de edición completa de código abierto para Unix en el sabor del archivo .sh.

  3. En la línea de comando moví el archivo en la carpeta principal donde lo quería instalar y llamé "sh glassfish-3.1.1-unix.sh", que muestra una configuración gráfica. Elijo la configuración típica.

  4. Si elige la opción de actualización automática, prepárese para esperar varios minutos. Es un known bug since 3.0.1, que parece que prefirieron documentar, en lugar de arreglarlo. No es necesario seguir los consejos para cancelar la instalación, solo tome un café o lea algunas noticias, se terminará.

  5. Una vez instalado GlassFish, en la pestaña del servidor Eclipse, seleccione Nuevo -> Servidor y elija "GlassFish" -> "GlassFish Server Open Source Edition 4 (Java EE 6)", busque el directorio domain1 de Glassfish, deje la contraseña del administrador blanco.

En este punto es posible implementar proyectos en Glassfish, tal como solía hacer en Tomcat. En mi primer día de experiencia, el tipo de trabajo de redespliegue en caliente, pero no siempre, con frecuencia ha sido necesario detener o iniciar el servidor.

2

En Mac OS 10.6 Yo tenía muchos de los mismos problemas descritos anteriormente:

  1. Primero tuve la CREDENTIAL_ERROR.

  2. Intenté crear un nuevo servidor, como se sugiere en la respuesta 2. Sin embargo, accidentalmente agregué la contraseña incorrecta (debe dejarse en blanco) y comencé a recibir mensajes de "nombre de usuario o contraseña incorrectos". No pude cambiar la contraseña.

  3. Luego comencé a obtener CREDENTIAL_ERROR nuevamente.

  4. La solución fue sugerida por la respuesta 3, que hay otro proceso ejecutándose. Decidí probar por completo la eliminación de todos los servidores en mi configuración de Eclipse, y luego agregar un nuevo servidor, tal como se describe en la respuesta 2.

que funcionó muy bien, y yo estaba inmediatamente en funcionamiento (recordando que salir la contraseña en blanco esta vez a través)

1

el problema con otro proceso que ocupa el puerto 80, compruebe si hay otros servidores web o servidores de aplicaciones que se ejecutan en ese puerto, detenerlos y re-trato

8

me dieron el "el Eclipse el complemento no puede comunicarse con el servidor GlassFish, el estado es: CREDENT IAL_ERROR "error también.

he encontrado una solución a mi problema, asegurando que ningún otro proceso estaba escuchando en el puerto 8080.
Para encontrar procesos que escucha en el puerto 8080, que aparezca un símbolo del sistema y escriba el siguiente:

netstat -a -n -o | find "8080" 
  1. En la columna de la derecha, verá un identificador de proceso.
  2. Abre el administrador de tareas de Windows (presiona ctrl + alt + delete y selecciona "Iniciar el Administrador de tareas") y ve a la pestaña de procesos.
  3. Busque la columna denominada "PID" (si no está presente, vaya a view -> select columns ... -> check PID) y encuentre el proceso con el PID que encontró usando netstat.
    -> matar el proceso -> inténtelo de nuevo.

Me funcionó.

0

Prueba esto: matar el proceso de Java desde el administrador de tareas si no muestra el proceso java continuación, reinicie su PC >> que funcione para mí

0

Asegúrese de que ha establecido como JDK JRE en su eclipse.

En Windows la pusieron a

window>preferences>java>installed jres 

En Mac puso a

eclipse>preferences>java>installed jres 

Estos deben apuntar a la ubicación del JDK.

1

Recibí el mensaje "El complemento Eclipse no se puede comunicar con el servidor GlassFish, el estado es: CREDENTIAL_ERROR" también.

Para mí fue un problema de Firewall. - Por algún motivo, el cortafuegos (configurado por el departamento informático) bloquea el eclipse para comunicarse con Glassfish en el puerto 4848, utilizado por defecto como "Puerto del servidor de administración".

Pero el puerto 8080 no está bloqueado.

Mi solución fue la de cambiar los puertos en el domain.xml

<network-listeners> 
    <network-listener port="4848" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener> 
    <network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener> 
    <network-listener port="8080" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener> 
</network-listeners> 

Ahora puedo iniciar el servidor desde eclipse. Y acceda a las páginas normales en el navegador (porque 4848 no está bloqueado para el navegador).

+0

gracias, hice lo que dijiste ... y funcionó ... me alegraron el día ... –

2

La razón por la que el intercambio de puertos probablemente funcionó, es porque cuando 8080 era el oyente http, era probable que su antivirus escaneara el puerto para tráfico http, lo que causa el Error de credencial. Quité la entrada 8080 de mi configuración de AV en la exploración web y el servidor se puso en marcha correctamente. ¡Solo me tomó una semana y media y una PC Rebuild antes de encontrar esa!

Saludos Chris

Actualización: Resulta que tuve que desactivar el escáner HTTP por completo para detener este problema. Tan pronto como se volvió a habilitar, CREDENTIAL_ERROR regresó. Intenté agregar todo tipo de excepciones a la configuración AV, pero ninguna funcionó.

1

Quiero mejorar la respuesta de Andreas.

Sí, esto es importante para comprobar su puerto:

netstat -a -n -o | find "8080" 

Si está utilizando Windows 7 asegúrese de que su anfitrión proxy no está activo. Verifique su archivo de lista de host y abra usando el bloc de notas y luego reinicie su PC después de comentar todo el host innecesario. Here es el tutorial.

\%systemroot%\system32\drivers\etc\host 

En mi caso jmx pudo iniciar porque anfitrión actual está utilizando activate.adobe.com no su computadora-nombre ni localhost.

servicio: jmx: RMI: //activate.adobe.com: 8686/jndi/RMI: //activate.adobe.com: 8686/jmxrmi

El anfitrión debe ser "localhost" o "127.0.0.1" o su computadora nombre

servicio: jmx: rmi: // Mi-PC-nombre: 8686/jndi/rmi: // Mi-PC-nombre: 8686/jmxrmi

Lo último es verificar su lista de procesos desde Administrador de tareas, e nd el proceso del servicio de proxy antivirus, como el mío está usando Trend Micro Internet Security luego finaliza el proceso tmproxy.exe * 32.

Vuelve a tu Eclipse haga doble clic en el servidor GlassFish en la pestaña de la lista de servidores, por favor desmarque"uso anónimo de conexión para consola de administración" a continuación, asegúrese de llenar "Nombre Admin" y "contraseña de administrador" por ejemplo administrador de usuario y contraseña adminadmin como inicio de sesión de administrador predeterminado de GlassFish. Ahora puede ejecutar el servidor GlassFish desde su eclipse. Funcionó.

Cuestiones relacionadas