1
resposta

NoClassDefFoundError ao executar o .JAR que foi gerado pelo maven

Boa noite,

Estou com um projeto em JavaFX e migrei para Maven, estou utilizando como apoio o curso para tirar algumas duvidas, e ao gerar o arquivo, não consigo executa-lo, pois reclama do log4j que não é encontrado as classes, já googlei bastante, mas não encontrei muita coisa sobre, também está o meu pom.xml.

Ponto importante: Dentro do eclipse o projeto roda redondo, sem erro nenhum.

Caso alguém possa me ajudar a solucionar, ficaria muito grato!

Erro:

java -cp PortalCorretor-0.0.1.jar com.espacocorretor.application.Main
Exception in thread "JavaFX Application Thread" Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
                                              at com.espacocorretor.application.Main.<clinit>(Main.java:32)                                               at java.lang.ClassLoader.loadClass(ClassLoader.java:357)                                                    java.lang.reflect.InvocationTargetException                                                             
                                              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

pom.xml

<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>PortalCorretor</groupId>
    <artifactId>PortalCorretor</artifactId>
    <version>0.0.1</version>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <resources>
            <resource>
                <directory>src</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.espacocorretor.application.Main</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>br.com.caelum.stella</groupId>
            <artifactId>caelum-stella-core</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>com.jfoenix</groupId>
            <artifactId>jfoenix</artifactId>
            <version>8.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.5</version>
        </dependency>
        <dependency>
            <groupId>de.jensd</groupId>
            <artifactId>fontawesomefx</artifactId>
            <version>8.9</version>
        </dependency>
        <dependency>
            <groupId>com.github.gilberto-torrezan</groupId>
            <artifactId>viacep</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-parameter-names</artifactId>
            <version>2.9.5</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jdk8</artifactId>
            <version>2.9.5</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.9.5</version>
        </dependency>
    </dependencies>
</project>
1 resposta

Talvez seja conflito na sua versão do Log4J e a de uma outra dependência.

Qual é o resultado do comando: mvn dependency:analyze?