【发布时间】:2023-03-29 18:30:01
【问题描述】:
我有这个例外。我正在尝试制作码头服务器。按照idea,一定是Handler[]参数,确实是,不过这个例外。我不知道我需要改变什么。有人可以帮忙吗?
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) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) 在 java.lang.Thread.run(Thread.java:745) 引起:java.lang.IllegalArgumentException:坏端口:0 在 java.util.logging.SocketHandler.connect(SocketHandler.java:160) 在 java.util.logging.SocketHandler.(SocketHandler.java:125) 在我们的.arti.JettyServerArti.JettyStarter.main(JettyStarter.java:27) ... 6 更多
如果您需要更具体的细节,请告诉我。
【问题讨论】:
-
如果你仔细阅读你的异常会看到:Caused by: java.lang.IllegalArgumentException: Bad port: 0,这意味着
connector.setPort(8080);没有正常工作...你调试了吗,有没有有效的server和connector实例? -
@JordiCastilla 当在这个程序中是一个处理程序而不是处理程序时,它正在使用 8080 端口
-
@JordiCastilla - 关闭,但这不是它的意思。请参阅下面的答案;例外来自
new SocketHandler()调用的初始化程序,它对您提到的调用所在的ServerConnector一无所知。 -
@MarkAdelsberger 你可能是对的我只是在对问题进行编辑后猜测......无论如何,因为你的答案可以解释问题,恕我直言不提供这个问题的解决方案,而是一个新的问题...你能扩展/解释一下 OP 应该做什么吗?
-
对不起,伙计们,我的愚蠢,但今天开始无一例外,我没有改变任何东西。也许港口就在附近,我不知道。谢谢大家
标签: java jetty illegalargumentexception