Galera, to com meu projeto Java + HSQLDB + Maven tudo certinho, configurei o setup dele no Jsmooth, porém hora que tento executar a aplicação com o arquivo .exe ele me retorna um erro no Driver do HSQLDB porém ta tudo instalado, a biblioteca .jar atualizada. O que pode ser?
java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
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(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Bom dia amigo,
Isso muitas vezes acontece porque podem existir mais de um jar do Driver dentro do projeto e o sistema fica confuso e lança essa exception. Você precisa fazer a exclusão dessa dependência dentro da outra dependência que também usa esse Driver.
Se possível dê mais detalhes ou poste seu pom.xml.
Pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ext</groupId>
<artifactId>Exato</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.ext.gui.LoginGui</mainClass>
<classpathPrefix>dependency-jars/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/dependency-jars/
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>com.github.sarxos</groupId>
<artifactId>webcam-capture</artifactId>
<version>0.3.10</version>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.7.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.4.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
O escopo da dependência do banco está errado…
<!-- https://mvnrepository.com/artifact/org.hsqldb/hsqldb -->
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.4.1</version>
<scope>test</scope>
</dependency>
mas acredito que o problema não é esse, tente dessa forma e post o resultado.
Se eu rodo o Jar da aplicação na pastar “target” no CMD ele roda certinho, com acesso ao banco, login, etc…
Mas assim que tento compilá-lo no JSmooth ele retorna o erro de que não está encontrando o driver
@Rafael_Victor
Boa noite amigo.
Falta a declaração do path no seu pom.xml tbm.
<build>
<resources>
<resource>
<directory>src/main/java/</directory>
</resource>
</resources>
</build>
Espero que ajude.
No Skeleton do Jsmooth qual seleciono ao certo? to utilizando Console Wrapper
Bom dia.
Vou fazer uns testes, nunca fiz esse tipo de conversão. O problema é de mapeamento de dependências e provavelmente deve ter alguma configuração que deve ser feita para o mapeamento ser feito corretamente.
Olhei um pouco da documentação da ferramenta e pelo jeito a parametrização deve ser feita em C.