繁体   English   中英

ClassNotFoundException 导致的线程“主”java.lang.NoClassDefFoundError 中的异常

[英]Exception in thread "main" java.lang.NoClassDefFoundError caused by ClassNotFoundException

我需要与外部 API 合作才能解码绿色通行证,特别是我遵循https://gae-piaz.medium.com/decode-the-eu-green-pass-qrcode-using-的指南java-b5654e55b0fc ,我使用 Maven 依赖项将它们添加到 pom.xml 文件中。 当我在 IntellijIDE 中运行 java 应用程序时,出现此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/iot/cbor/CborMap
at kapta.classes/kapta.Utils.GreenPassValidator.DecodeQRGreenPass.decode(DecodeQRGreenPass.java:43)
at kapta.classes/kapta.Utils.GreenPassValidator.MainDecodeGreenPass.main(MainDecodeGreenPass.java:10)                                                                           
Caused by: java.lang.ClassNotFoundException: com.google.iot.cbor.CborMap
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 2 more

这里是依赖项的链接:

依赖项

这里是运行配置的链接:

运行配置

这是我的 Pom 文件:

<?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>kapta</groupId>
<artifactId>classes</artifactId>
<version>1.0-SNAPSHOT</version>
<name>KaptaProject</name>

<properties>
 <sonar.organization>al3ssandrocaruso</sonar.organization>
 <sonar.host.url>https://sonarcloud.io</sonar.host.url>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <junit.version>5.7.1</junit.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>

<dependencies>
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>3.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>javase</artifactId>
        <version>3.4.1</version>
    </dependency>
    <dependency>
        <groupId>io.github.ehn-digital-green-development</groupId>
        <artifactId>base45</artifactId>
        <version>0.0.3</version>
    </dependency>
    <dependency>
        <groupId>com.augustcellars.cose</groupId>
        <artifactId>cose-java</artifactId>
        <version>0.9.7</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.google.iot.cbor</groupId>
        <artifactId>cbor</artifactId>
        <version>0.01.02</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.augustcellars.cose</groupId>
        <artifactId>cose-java</artifactId>
        <version>0.9.4</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>17.0.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>17.0.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-web</artifactId>
        <version>17.0.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.controlsfx</groupId>
        <artifactId>controlsfx</artifactId>
        <version>11.1.0</version>
    </dependency>
    <dependency>
        <groupId>com.dlsc.formsfx</groupId>
        <artifactId>formsfx-core</artifactId>
        <version>11.3.2</version>
        <exclusions>
            <exclusion>
                <groupId>org.openjfx</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>net.synedra</groupId>
        <artifactId>validatorfx</artifactId>
        <version>0.1.13</version>
        <exclusions>
            <exclusion>
                <groupId>org.openjfx</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.kordamp.ikonli</groupId>
        <artifactId>ikonli-javafx</artifactId>
        <version>12.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.kordamp.bootstrapfx</groupId>
        <artifactId>bootstrapfx-core</artifactId>
        <version>0.4.0</version>
    </dependency>
    <dependency>
        <groupId>eu.hansolo</groupId>
        <artifactId>tilesfx</artifactId>
        <version>11.48</version>
        <exclusions>
            <exclusion>
                <groupId>org.openjfx</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.version}</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-graphics</artifactId>
        <version>17.0.0.1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.22</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>17</source>
                <target>17</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.7</version>
            <executions>
                <execution>
                    <!-- Default configuration for running with: mvn clean javafx:run -->
                    <id>default-cli</id>
                    <configuration>
                        <mainClass>kapta.classes/kapta.MainApp</mainClass>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <directory>src/main/java/kapta/View</directory>
            <!-- Alessandro Caruso was here :) -->
        </resource>
    </resources>
</build>

我不知道该怎么做。

For com.google.iot.cbor dependency in pom.xml change the scope from runtime to compile (which is the default, so you can just remove the scope tag).

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM