Ich habe diese Ausnahme. Ich habe versucht, Anlegesteg Server zu machen. Nach der Idee muss es Handler [] Argument sein, und es ist, aber diese Ausnahme. Ich habe keine Ahnung, was ich ändern muss. Kann jemand helfen?Warum ist IllegalArgumentException: Bad port: 0?
public static void main(String[] args) {
Server server = new Server();
ServerConnector connector = new ServerConnector(server);
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setDirectoriesListed(true);
resourceHandler.setWelcomeFiles(new String[]{ "index.html" });
resourceHandler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]{new SocketHandler(), resourceHandler}); //#27
server.setHandler(handlers);
try {
server.start();
server.join();
}
catch (Throwable t){
t.printStackTrace(System.err);
}
}
Ich erhalte diese Ausnahme
java.lang.reflect.InvocationTargetException bei sun.reflect.NativeMethodAccessorImpl.invoke0 (Mutter Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java : 62) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java:498) bei org.codehaus.mojo.exec.ExecJavaMojo $ 1. run (ExecJavaMojo.java:293) bei java.lang.Thread.run (Thread.java:745) verursacht durch: java.lang.IllegalArgumentException: Fehlerhafter Port: 0 bei java.util.logging.SocketHandler.connect (SocketHandler.java:160) bei java.util.logging.SocketHandler. (SocketHandler.java:125) bei our.arti.JettyServerArti.JettyStarter.main (JettyStarter.java:27) ... 6 weitere
Wenn Sie spezifischere brauchen Details lassen Sie mich wissen.
wenn Sie sorgfältig Ihre Ausnahme lesen sehen: _Caused von: java.lang.IllegalArgumentException: Bad Hafen: 0_, das heißt 'connector.setPort (8080);' nicht richtig funktioniert .. Haben Sie debugged, gibt es eine gültige 'Server' und' Connector' Instanzen? –
@JordiCastilla, wenn in diesem Programm ein Handler statt Handler war es mit 8080 Port – Artemon
@JordiCastilla arbeiten - in der Nähe, aber das ist es nicht, was es bedeutet. Siehe meine Antwort unten; Die Ausnahme ist von dem Initialisierer, der von 'new SocketHandler()' aufgerufen wird, der nichts von dem 'ServerConnector' kennt, auf dem der von Ihnen erwähnte Aufruf ausgeführt wird. –