Boa noite pessoal.
Venho aqui pedir a ajuda de vocês novamente, seguinte…
Terminei meu projeto Java +Maven e com banco de dados HSQL embedded. Testei tudo do projeto e está funcionando pelo NetBeans.
Porém na hora de criar o jar do projeto o banco hsqldb não está vindo junto ao jar. Tento acessar o software com Login e senha e não funciona.
Estou a trabalhar com Maven a primeira vez, será que pode ser algo de errado que fiz no Maven? Pois nos outros projetos que criei sem ele o projeto tinha a pasta lib, dist e com maven não tem. Os jars das dependências que instalei não estão junto ao projeto. Seria por esse motivo que o banco não funcione?
Bom dia Rafael, cara, faz assim, antes de tomar alguma atitude, roda o seu .jar via CMD, se houver algum erro, você vai conseguir visualizar por lá.
java -jar arquivo.jar
Me retornou esse erro
com.ext.connection.ConexaoBD conexao
GRAVE: null
java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.ext.connection.ConexaoBD.conexao(ConexaoBD.java:26)
at com.ext.gui.LoginGui.<init>(LoginGui.java:42)
at com.ext.gui.LoginGui$10.run(LoginGui.java:319)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Você adicionou esse driver?
adicionei ele como dependência no POM e instalei o artefato manualmente.
Tenho que adicionar o hsqldb driver a pasta do projeto? Se sim, onde exatamente?
Cara, tenta adicionar manualmente, talvez funcione. Eu não uso muito o Maven, mas todas as vezes que precisei usar, não tive problemas com importação, foi tudo automático.
Vc tá usando o NetBeans? Eclipse?
Você tem que mandar o maven incluir as dependencias no jar (fatjar) para você, ou mandar o maven criar o arquivo MANIFEST com as dependencias que deverão ser carregadas no classpath ao rodar a aplicação:
Jar com dependencias (ou fatjar):
Arquivo MANIFEST:
Lucastody perfeito esses artigos que mandou. No terceiro “Arquivo MANIFEST” funcionou certinho. Porém aconteceu uma coisa. Ao compactar o jar com o banco ele ficou vazio, e quando eu coloquei pra construir na tabela usuário tinha um registro para poder fazer conexão, sem ele não consigo acessar o software.
Como faço para compactar com HSQLDB sem zerar as tabelas?
Ou se não tiver como, como faço para inserir dados através do Script gerado pelo BD?
Deu certooo! apenas copiei o arquivo SCRIPT da pasta raiz e colei junto a pasta criada pelo maven ao criar o banco. Showw! funcionou corretamente.
Muito obrigado mesmo a ajuda amigos!
1 curtida