2010-07-27 5 views
-7

une exception dans le programme GWTException dans un programme de GWT

java.lang.ExceptionInInitializerError 

[ERROR] Unable to bind socket on port 9997 -- is another session active? 
java.net.BindException: Address already in use 
    at java.net.PlainSocketImpl.socketBind(Native Method) 
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365) 
    at java.net.ServerSocket.bind(ServerSocket.java:319) 
    at java.net.ServerSocket.bind(ServerSocket.java:277) 
    at com.google.gwt.dev.shell.BrowserListener.<init>(BrowserListener.java:67) 
    at com.google.gwt.dev.DevModeBase.ensureCodeServerListener(DevModeBase.java:898) 
    at com.google.gwt.dev.DevModeBase.doStartup(DevModeBase.java:888) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1030) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:275) 
log4j:WARN No appenders could be found for logger (org.apache.jasper.compiler.JspRuntimeContext). 
log4j:WARN Please initialize the log4j system properly. 
Starting Jetty on port 8888 
    [WARN] failed [email protected]:8888 
java.net.BindException: Address already in use 
    at sun.nio.ch.Net.bind(Native Method) 
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119) 
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) 
    at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:205) 
    at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:304) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
    at org.mortbay.jetty.Server.doStart(Server.java:233) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:543) 
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:275) 
    [WARN] failed [email protected] 
java.net.BindException: Address already in use 
    at sun.nio.ch.Net.bind(Native Method) 
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119) 
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) 
    at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:205) 
    at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:304) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
    at org.mortbay.jetty.Server.doStart(Server.java:233) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:543) 
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:275) 
Port 127.0.0.1:8888 is already is use; you probably still have another session active 
+2

D'une certaine façon, je pense que vous aurez besoin de fournir plus d'informations. Pouvez-vous fournir la trace et le code de la pile pour l'initialiseur où l'exception se produit? – Mark

+2

Vous attendez-vous à ce que quelqu'un ici soit une sorte de magicien capable de deviner les conditions exactes de votre programme? Avez-vous lu l'API pour ExceptionInInitializeError? Si non, alors s'il vous plaît faites-le. Si vous l'avez fait, alors qu'est-ce que vous n'avez pas compris exactement? – perdian

+0

duplicata possible de [question sur GWT, gestion de cookies et de pages web] (http://stackoverflow.com/questions/2974100/question-on-gwt-cookies-and-webpage-directing) –

Répondre

0

Vous n'avez pas fourni suffisamment d'informations, telles que la trace de la pile et le code. Toutefois, ce que je peux dire est que ExceptionInInitializerError se produit lorsqu'un code d'initialisation statique renvoie une exception d'exécution. Notez que l'exception encapsule l'exception d'exécution de déclenchement, alors essayez d'afficher la trace de pile complète et analysez-la.

est un exemple:

public class Test { 
    static { 
     String s = "hi"; 
     s.substring(10); 
    } 

    public static void main(String[] args) { 

    } 
} 

L'impression de trace de la pile est:

java.lang.ExceptionInInitializerError 
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -8 
    at java.lang.String.substring(String.java:1938) 
    at java.lang.String.substring(String.java:1905) 
    at Test.<clinit>(Test.java:5) 
Exception in thread "main" 

--EDIT--

maintenant que vous avez fourni plus de détails, jetez un oeil à l'autre réponse qui est plus spécifique à votre cas: vous avez déjà une autre session de votre application GWT déjà exécutée ning, ou vous avez une autre application de serveur sur le localhost, l'écoute sur le port 8888.

3

Vous avez une autre session active, la trace de la pile est assez évident:

[ERREUR] Impossible de lier la prise sur le port 9997 - est une autre session active?

java.net.BindException: Adresse déjà utilisée à java.net.PlainSocketImpl.socketBind (Native Method)

Port 127.0.0.1:8888 est déjà utilisé; vous avez probablement encore une autre session active

0

This thread peut vous être utile.

Citant la réponse haut de ce fil.

« Même après avoir quitté toutes les connexions du navigateur, le serveur de code est encore en cours d'exécution en attente de nouvelles connexions Vous devez arrêter cette connexion de votre précédente lancement avant En outre, notez que vous n'avez pas nécessairement redémarrer du tout - il suffit de faire vos changements et actualiser le navigateur ou lancer un nouveau navigateur . " De mon expérience personnelle, essayez de lancer la webapp après 1 min environ. Ce problème disparaitrait. Pas une manière propre de faire des choses et donc il y a un bug déposé avec l'équipe de GWT pour ce cas.

Questions connexes