Apostila Caelum - Importando um Jar

Pessoal, estou estudando java pela apostila da Caelum e estou com dificuldade no exercício 8.7 (Importando um JAR). O arquivo JAR que estou usando é esse: https://github.com/fabiomsnet/fj11-contas/blob/master/lib/fj11-lib-contas.jar

Eu sigo os passos abaixo:

  1. Vamos importar um jar que contém a interface gráfica do usuário para o nosso sistema de contas.
    Vá no menu Project -> Properties
    8.6 IMPORTANDO UM JAR EXTERNO
    8.7 EXERCÍCIOS: IMPORTANDO UM JAR
    .
    Selecione a opção Java Build Path
    Selecione a aba Libraries
    Clique no botão Add External Jars…
    Selecione o arquivo fj11-lib-contas.jar localizado na pasta dos arquivos dos cursos/11
    Clique no botão Ok para fechar a janela de importação
  2. Para verificarmos que a importação deu certo, vamos chamar uma classe da biblioteca importada
    para exibir uma janela de boas-vindas.
    Crie uma classe TestaJar no pacote br.com.caelum.contas.main .
    Crie também o método main .
  3. Dentro do método criado, vamos invocar o método main da classe OlaMundo que existe no jar
    importado. Seu código deve ficar dessa maneira:
    package br.com.caelum.contas.main;
    import br.com.caelum.javafx.api.main.OlaMundo;
    public class TestaJar {
    public static void main(String[] args) {
    OlaMundo.main(args);
    }
    }
    Não esqueça de importar a classe OlaMundo do pacote br.com.caelum.javafx.api.main . Use o
    atalho ctrl + shift + O.

Porém, na hora de executar a aplicação, recebo este erro no Console do Eclipse:

Exception in thread “main” java.lang.NoClassDefFoundError: src/main/java/br/com/caelum/javafx/api/main/OlaMundo
at br.com.caelum.contas.main.TestaJar.main(TestaJar.java:8)
Caused by: java.lang.ClassNotFoundException: src.main.java.br.com.caelum.javafx.api.main.OlaMundo
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
… 1 more

Alguém tem ideia de como corrigir?

1 curtida

Clica com o botão direito do mouse sobre o projeto, seleciona a opção Build Path e a opção Configure Build Path.
Selecione a aba libraries e vê se o jar aparece ali.

O jar aparece ali sim. Estava na lista como ModulePath, eu passei para ClassPath pra testar e aliado com outras configurações aqui, funcionou.

As outras configurações que fiz foi baixar o JRE 1.8 e incluir esse código em Run Configurations>Arguments>VM arguments:

–module-path=“C:\Program Files (x86)\Java\jre1.8.0_181\lib” --add-modules=javafx.controls,javafx.fxml

Também adicionei o JavaFX ao projeto, seguindo esse tutorial: https://openjfx.io/openjfx-docs/#IDE-Eclipse

Depois de feito tudo isso, funcionou! Obrigado pela ajuda!