У меня есть это исключение. Я пытался сделать причал. По идее, это должен быть аргумент Handler [], и это, но это исключение. Я понятия не имею, что мне нужно изменить. Может ли кто-нибудь помочь?Почему существует IllegalArgumentException: Плохой порт: 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);
}
}
Я получаю это исключение
java.lang.reflect.InvocationTargetException на sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java : 62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.codehaus.mojo.exec.ExecJavaMojo $ 1. (ExecJavaMojo.java:293) at java.lang.Thread.run (Thread.java:745) Вызвано: java.lang.IllegalArgumentException: Плохой порт: 0 по адресу java.util.logging.SocketHandler.connect (SocketHandler.java:160) at java.util.logging.SocketHandler. (SocketHandler.java:125) в our.arti.JettyServerArti.JettyStarter.main (JettyStarter.java:27) ... 6 более
Если вам нужна более конкретная подробности дайте мне знать.
если вы внимательно прочитать ваше исключение см: _Caused по: java.lang.IllegalArgumentException: Плохой порт: 0_, что означает 'connector.setPort (8080),' не работает должным образом .. вы отлаживаете ли вы, есть ли действительные экземпляры 'server' и' connector'? –
@JordiCastilla, когда в этой программе был один обработчик вместо Handlers, он работал с портом 8080 – Artemon
@JordiCastilla - закрыть, но это не то, что это значит. См. Мой ответ ниже; исключение - из инициализатора, вызываемого 'new SocketHandler()', который ничего не знает о 'ServerConnector', на котором вы вызываете упомянутый вами вызов. –