Esse projeto foi desenvolvido como trabalho de conclusão de curso (TCC) de técnico de informática em 2017, o objetivo do projeto era criar um jogo em Java que ensinasse primeiros socorros paras as pessoas que utilizam a linguagem de sinais brasileira (Libras)
Tecnologias | Dependências | Como Executar | Licença
Esse projeto foi desenvolvido com as seguintes tecnologias:
- Java
- HSQLDB (banco de dados)
Antes de mais nada, você precisa ter o Java instalado, já que sem ele você não irá conseguir rodar.
Se você utiliza o Windows você pode baixar o Java através desse link. Agora se você utiliza o Linux provavelmente já deve vir com o Java instalado, para saber se o Java está intalado na sua distribuíção Linux, execute esse comando no terminal:
java --version
/*
Se mostrar algo parecido com isso, significa que o Java está instalado:
openjdk 11.0.18 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu120.04.1)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu120.04.1, mixed mode, sharing)
*/
Primeiro entre dentro do diretório "dist"
Depois de entrar na pasta "dist" é só executar o arquivo SosLibras.jar
Este projeto apresentava erros de conexão com o banco de dados e execução que impediam seu funcionamento. Abaixo está o detalhamento dos problemas e das soluções aplicadas.
Problema 1: Erro de Conexão com o Banco de Dados
- Sintoma: Ao tentar cadastrar, ocorria o erro
SQLSyntaxErrorException: user lacks privilege or object not found: USUARIO. - Causa: O caminho do banco de dados estava "hardcoded" (fixo) no código como absoluto (
C:/SOSLibras/banco/cadastro). Como essa pasta não existia no computador do usuário, o HSQLDB criava um banco novo vazio, sem as tabelas necessárias. - Solução: Alteramos a classe
ConnectionFactory.javapara usar um caminho relativo (jdbc:hsqldb:file:banco/cadastro), permitindo que o sistema encontre o banco de dados dentro da própria pasta do projeto, independente de onde ele esteja salvo.
Problema 2: Dependências Ausentes (ClassNotFoundException)
- Sintoma: O erro
ClassNotFoundException: org.hsqldb.jdbcDriverimpedia o início da conexão. - Causa: As bibliotecas necessárias (JARs) na pasta
dist/libestavam faltando ou não eram incluídas no Classpath durante a execução/compilação. - Solução:
- Configuramos o VS Code (
settings.json) para reconhecer as bibliotecas. - Recriamos a pasta
dist/libe copiamos o driverhsqldb.jarcorretamente via script de build. - Criamos um
MANIFEST.MFcorreto apontando para essas bibliotecas.
- Configuramos o VS Code (
Problema 3: Erro Silencioso de Conexão
- Sintoma: O usuário recebia apenas uma mensagem genérica "ATENÇÃO ouve algum erro...", sem detalhes.
- Solução: Melhoramos o tratamento de exceções em
frmCadastrar.javaeConnectionFactory.javapara exibir pop-ups com a mensagem real do erro (ex:con is nullou stack traces), facilitando o diagnóstico.
Este projeto agora está configurado para rodar facilmente no VS Code sem precisar instalar o Apache Ant manualmente.
- Abra a pasta do projeto no VS Code.
- Espere a extensão "Extension Pack for Java" carregar o projeto.
- Abra o arquivo
src/telaprincipal/frmPrincipal.java. - Clique em Run ou Debug (botão de Play acima da classe
main).
Foi criada uma Tarefa Automatizada no VS Code para compilar e gerar a versão final para distribuição.
- No menu superior, vá em Terminal -> Run Task... (Executar Tarefa).
- Selecione a tarefa: Gerar JAR e Copiar Banco.
- O VS Code irá:
- Compilar as classes.
- Gerar o arquivo
dist/SosLibras.jar. - Criar a pasta
dist/libe copiar as dependências. - Copiar a pasta
bancoatualizada para dentro dedist.
Nota: Certifique-se de fechar qualquer execução do programa antes de rodar essa tarefa para evitar erro de arquivo travado.
Para ver as tabelas e dados cadastrados:
- Na extensão "Database Manager" do VS Code (ou execute o
DatabaseManagerSwingdo próprio HSQLDB). - Configure a conexão com estes dados exatos:
- Type: HSQL Database Engine Standalone
- Driver:
org.hsqldb.jdbcDriver - URL:
jdbc:hsqldb:file:C:/Caminho/Para/Seu/Projeto/banco/cadastro(Use o caminho completo da sua pasta) - User:
sa - Password: (em branco)
A resolução complexa destes problemas de infraestrutura, configuração de ambiente, correção de código legado e automação de build foi realizada com o auxílio da IA Gemini 3 Pro (High) integrada à IDE Antigravity do Google.
Esse projeto está sob a licença MIT.
Feito com ♥ by Daniel 👋



