Erro compilação JAVA terminal Ubuntu -> ClassPath

Fazendo um exercício da apostila da Caelum, FJ11, me deparo com um exercício onde precisamos importar um arquivo .jar para exibir uma tela que utiliza de libs prontas JavaFX, quando rodo na IDE Eclipse, roda tudo certo, porém quando tento rodar pelo terminal Ubuntu não consigo nem ao menos compilar o código que ele dá erro de importação, como devo usar o classpath diretamente no terminal nesse caso?

Código que usei para tentar compilar no terminal:

java -cp /home/leonardo/Desktop/WS_fj11/bank/lib Test.java

Erro apresentado:

    Test.java:3: error: package br.com.caelum.javafx.api.main does not exist
    import br.com.caelum.javafx.api.main.OlaMundo;
                                        ^
    Test.java:9: error: cannot find symbol
    		OlaMundo.main(args);
    		^
      symbol:   variable OlaMundo
      location: class Test
    2 errors
    error: compilation failed

O provável erro é o de que eu não consegui passar o classpath de forma correta, mas então como eu deveria fazer de maneira correta?? Desde já agradeço!

Atualizando, quando passo a lib o erro cai somente para um:

java -cp /home/leonardo/Desktop/WS_fj11/bank/lib/fj11-lib-contas.jar Test.java

Erro apresentado dessa vez:

Test.java:9: error: cannot access Application
		OlaMundo.main(args);
		        ^
  class file for javafx.application.Application not found
1 error
error: compilation failed

O JAR do JavaFX não está no seu classpath.

E como eu passaria ele, sem perder a referência que já passei?

Usa o separador de caminhos do linux e adiciona ele ao parâmetro -cp:

java -cp "caminho do jar do JavaFx":"/home/leonardo/Desktop/WS_fj11/bank/lib/fj11-lib-contas.jar" Test.java

Deu certo, compilou e executou corretamente, muito obrigado!

javac -cp "/usr/share/java/jfxrt.jar":"/home/leonardo/Desktop/WS_fj11/bank/lib/fj11-lib-contas.jar" Test.java

1 curtida