Executando um Programa Java

Eu olhei para outras perguntas do SO, não encontrei nada que resolvesse o meu problema ... Eu tenho um arquivo Main.java (abaixo) e um arquivo OthelloLib.jar sem os arquivos de origem associados.

A execução javac Main.javafalha com

Main.java:8: não é possível encontrar o símbolo
símbolo: classe SimplePlayer
localização: class Main
        OthelloPlayer p1 = novo SimplePlayer ();
e mais alguns erros. SimplePlayer e BetterPlayer são definidos no jar. Como digo java sobre este jar? Este comando: javac -classpath .:OthelloLib.jar -g Main.javanão causa um erro, mas ainda não sei como executar o programa. Se eu correr java -classpath .:OthelloLib.jar Main, o Java reclama:

Exception in thread "main" java.lang.NoClassDefFoundError: TimeoutException

mas TimeoutException.java está no mesmo diretório que Main.java.

Não sei onde procurar coisas básicas sobre Java como esta, então aqui estou eu!

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();
  }
}
Resposta 1

Você corre

javac -classpath .:OthelloLib.jar Main.java

para compilar, então

java -classpath .:OthelloLib.jar Main

Em cada caso, a -classpath .:OthelloLib.jaropção informa ao Java onde encontrar SimplePlayere outras classes necessárias; ele não sabe procurar no arquivo JAR sozinho. E você precisa informar ao compilador e à máquina virtual onde procurar as classes.

EDIT : Parece que você adicionou algo TimeoutExceptiondesde que eu escrevi isso ... você se lembra de compilar TimeoutException.java? E o TimeoutException.classarquivo está no mesmo diretório que Main.class?

Resposta: 2

Nota: Você pode fazer tudo isso em um bom IDE, como eclipse ou netbeans, adicionando a biblioteca ao seu projeto. O resto é tratado automaticamente.

Resposta: 3

Você definiu uma referência para OthelloLib.jar ou invocou o javacompiler com a biblioteca como parâmetro?

java -classpath .:OthelloLib.jar -g Main
Resposta: 4

Você importou todas as bibliotecas?

gostar

import a.b.c. OthelloPlayer;
Resposta: 5

Eu tenho um requisito no qual o cliente carrega uma planilha contendo milhares de linhas. colunas diferentes de uma linha têm diferentes tipos de dados e os dados devem estar em conformidade com algumas regras de validação.eg abaixo ...

Estou usando o código a seguir para extrair alguns dados e salvá-los no arquivo CSV. Mas o problema agora é que o programa grava os dados no arquivo CSV e sempre que o código é executado novamente, isso ocorre ...

Estou usando o Jackson 2.3.2 e quero definir a primeira tentativa de exibição padrão do ObjectMapper: http://wiki.fasterxml.com/JacksonJsonViews#Implementation // atalho: objectMapper.writeValueUsingView (out, ...

Enquanto estou trabalhando no meio de algum projeto do kotlin, fiquei com uma confusão, como se uma classe filho implementa outra classe pai ou implementa uma interface? como se estivesse usando algumas interfaces e ...