I looked at some other SO questions, didn't find anything that solved my problem... I have a Main.java file (below) and a OthelloLib.jar file without associated source files.
Running javac Main.java fails with
Main.java:8: cannot find symbol
symbol : class SimplePlayer
location: class Main
OthelloPlayer p1 = new SimplePlayer();
and a few more errors. SimplePlayer and BetterPlayer are defined in the jar. How do I tell java about this jar? This command: javac -classpath .:OthelloLib.jar -g Main.java doesn't cause an error, but I still don't know how to run the program. If I run java -classpath .:OthelloLib.jar Main, java complains:
Exception in thread "main" java.lang.NoClassDefFoundError: TimeoutException
but TimeoutException.java is in the same directory as Main.java.
I don't know where to look up basic Java stuff like this, so here I am!
public class Main {
public Main() { }
public static void main(String[] args) {
OthelloPlayer p1 = new SimplePlayer();
OthelloPlayer p2 = new BetterPlayer();
OthelloObserver o = new OthelloSimObserver();
// Create an untimed game
OthelloGame g = new OthelloGame(p1, p2, o);
System.out.println("Starting game");
g.run();
}
}
public Main() { }isn't necessary. Not every class needs a constructor, and since it does nothing, it's just cluttering your code.