“线程中的异常”;“主要”;java.net.BindException:地址已在使用中

“线程中的异常”;“主要”;java.net.BindException:地址已在使用中,java,linux,server,command,port,Java,Linux,Server,Command,Port,我尝试在我的linux服务器上安装JavaHTTPAPI。我尝试从命令pompt执行此命令以运行服务: java -Dfile.encoding=UTF8 -cp .:boilerpipe-1.2.0.jar:lib/nekohtml-1.9.13.jar:lib/xerces-2.9.1.jar:lib/langdetect.jar:lib/jsonic-1.2.8.jar ExampleProgram 那么我有一个错误: 线程“main”java.net.BindException中的异常

我尝试在我的linux服务器上安装JavaHTTPAPI。我尝试从命令pompt执行此命令以运行服务:

java -Dfile.encoding=UTF8 -cp .:boilerpipe-1.2.0.jar:lib/nekohtml-1.9.13.jar:lib/xerces-2.9.1.jar:lib/langdetect.jar:lib/jsonic-1.2.8.jar ExampleProgram
那么我有一个错误:

线程“main”java.net.BindException中的异常:地址已在使用中 位于sun.nio.ch.Net.bind0(本机方法) 位于sun.nio.ch.Net.bind(Net.java:463) 位于sun.nio.ch.Net.bind(Net.java:455) 位于sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) 位于sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) 位于sun.net.httpserver.ServerImpl.(ServerImpl.java:100) 位于sun.net.httpserver.HttpServerImpl.(HttpServerImpl.java:50) 位于sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35) 位于com.sun.net.httpserver.httpserver.create(httpserver.java:129) 位于ExampleProgram.main(ExampleProgram.java:37)

下面是ExampleProgram.java:

import java.io.InputStream;
import java.io.FileReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.IOException;

import org.xml.sax.InputSource;

import de.l3s.boilerpipe.document.TextDocument;
import de.l3s.boilerpipe.extractors.ArticleExtractor;
import de.l3s.boilerpipe.sax.BoilerpipeSAXInput;


// Language detect librarys
import com.cybozu.labs.langdetect.*;

import net.arnx.jsonic.JSON;
import net.arnx.jsonic.JSONException;


import java.io.*;
import java.net.*;


import java.util.concurrent.Executors;
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

class ExampleProgram {

public static void main(String[] args) throws Exception {

EveryDetector evr = new EveryDetector();
InetSocketAddress addr = new InetSocketAddress("localhost",8080);
HttpServer server = HttpServer.create(addr, 0);

MyHandler hndl = new MyHandler();
hndl.setDetector(evr);

MyHandlerExtractContent hnd2 = new MyHandlerExtractContent();
hnd2.setDetector(evr);

MyHandlerDetectLanguage hnd3 = new MyHandlerDetectLanguage();
hnd3.setDetector(evr);

server.createContext("/",hndl);
server.createContext("/extractcontent",hnd2);
server.createContext("/detectlanguage",hnd3);
server.setExecutor(Executors.newCachedThreadPool());
server.start();
System.out.println("Server is listening on port 8080" );


 }
}
资料来源:


怎么了?如何修复它?

看起来发生的情况是,如果您更改端口号,8080端口上已经在运行某些东西,您的问题应该会消失。

我考虑了您所说的,但我对此不太了解。如何将其更改为其他端口?在这一行中
InetSocketAddress addr=newinetsocketaddress(“localhost”,8080)这是您将端口设置为8080的地方,将该数字更改为9090。还有一点值得注意的是,当您访问它时,您必须在您的地址中键入localhost:9090。巴里可以这样做,但我是否应该执行其他事务?为9090创建端口?执行其他事务是什么意思?那是什么电话?没问题我很高兴能帮上忙