Stewie Griffin
Stewie Griffin

Reputation: 5608

Error: Could not find or load main class

Firstly thank you for your helps. I viewed and tried all of titles like mine but none of them help me to solve my problem. I tried this command in order to compile in current folder that includes ExampleProgram.java:

java -Xms16m -Xmx64m -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.java

Then it gives this error:

Error: Could not find or load main class ExampleProgram.java

This is 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("127.0.0.1",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" );


 }
}

Source: https://github.com/remdex/boilerpipe-and-language-detect-api-server

How can I solve my problem?

Upvotes: 1

Views: 1170

Answers (2)

z7r1k3
z7r1k3

Reputation: 737

Change class ExampleProgram to public class ExampleProgram, as the compiler has no way of locating the class with the main method.

Note that you can only have one 'public' class, as otherwise would confuse the compiler.

Upvotes: 1

Nikolas
Nikolas

Reputation: 44398

Add public word before class ExampleProgram like here:

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

Please remember that the main class has to be always public.

Upvotes: 1

Related Questions