Intento instalar una API HTTP de Java en mi servidor Linux. Intento ejecutar este comando desde el comando pompt para ejecutar el servicio:
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 ExampleProgramEntonces tengo este error:
Excepción en el subproceso "principal" java.net.BindException: la dirección ya está en uso en sun.nio.ch.Net.bind0 (método nativo) en sun.nio.ch.Net.bind (Net.java:463) en sun. nio.ch.Net.bind(Net.java:455) en sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) en sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) en sun .net.httpserver.ServerImpl.(ServerImpl.java:100) en sun.net.httpserver.HttpServerImpl.(HttpServerImpl.java:50) en sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35) en com. sun.net.httpsserver.HttpServer.create(HttpServer.java:129) en ExampleProgram.main(ExampleProgram.java:37)
Aquí está 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" ); } }Fuente: https://github.com/remdex/boilerpipe-and-language-detect-api-server
¿Lo que está mal? ¿Cómo puedo arreglarlo?
Lo que parece que está sucediendo es que algo ya se está ejecutando en el puerto 8080 si cambia el número de puerto, su problema debería desaparecer.