当前位置: 首页 > 知识库问答 >
问题:

Java-NoClassDefFounderRor XSSFWorkbook

权胜泫
2023-03-14

我创建CSV到XLSX应用程序-我的第一个问题

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook
        at com.test.csv2xlsx.Csv2Xlsx.<init>(Csv2Xlsx.java:35)
        at com.test.csv2xlsx.Csv2Xlsx.main(Csv2Xlsx.java:49)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.xssf.usermodel.XSSFWorkbook
        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)
        ... 2 more

我阅读了所有关于这个错误的文章,但我已经有了所有的依赖

<dependencies>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>4.3</version>
        </dependency>
    </dependencies>

现在我不确定问题出在哪里

共有1个答案

别峻
2023-03-14

这是一个很常见的问题。项目的依赖项不包括在您执行的jar中,导致noClassDefFounderRoR

要修复此问题,请将其添加到pom.xmlplugins部分:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>
                            com.mypackage.Main
                        </mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </execution>
    </executions>
</plugin>

然后执行MVN clean package,在目标目录中完成后,您将找到一个可执行的jar_name-jar-with-dependencies.jar,其中包含所有必需的依赖项。

 类似资料:
  • 在完成一个模块后,应该从那几个方面对代码进行优化,有哪些方法可以进行优化

  • 我想知道是否可以(以及使用哪种工具)在Java中执行类型安全i18n。可能还不清楚,所以这里有一些细节,假设我们使用基于的东西 1)使用类型安全参数进行转换 我希望避免像这样的接口,其中的值是非类型化的。应该不可能使用错误的参数类型进行调用。 注我可以指定所有键的类型。我正在寻找的解决方案应该是可伸缩的,并且不应该显著增加后端启动时间。 2)应该在编译时知道哪些键还在使用 我不希望我的翻译键库像许

  • 我们已经知道,Clojure代码最终在Java虚拟环境中运行。 因此,只有Clojure能够利用Java的所有功能才有意义。 在本章中,我们将讨论Clojure和Java之间的关联。 调用Java方法 可以使用点表示法调用Java方法。 一个例子是字符串。 由于Clojure中的所有字符串都是Java字符串,因此可以在字符串上调用普通的Java方法。 有关如何完成此操作的示例,请参见以下程序。 例

  • 问题内容: 我正在学习Spring 3,但似乎并没有掌握背后的功能。 从我读过他们似乎处理不同的注解(等等V,,等),而且从我读过他们注册相同什么bean后置处理器类。 为了更迷惑我,还有一个 属性上。 有人可以阐明这些标签吗?有什么相似之处,有什么不同之处,一个被另一个取代,它们彼此完成,我是否需要其中一个? 问题答案: 用于激活已经在应用程序上下文中注册的bean中的注释(无论它们是使用XML

  • 我在从使用SpringBoot和Faign构建的Java应用程序连接外部API时遇到问题。应用程序部署到docker容器中的VM。我正在尝试访问外部服务endpoint来检索一些数据,但到目前为止运气不佳。 我已经从VM命令行和docker容器内部也从命令行执行了相同的curl命令,但是当试图从java代码中命中它时,我只是收到一个超时。 任何关于可能发生的事情的想法,显然hosts文件和代理都是

  • 我正在使用BlueJ在java中开发一个虽然循环,但是 int m=0;int-ssum=0;

  • java.* 属性 表示 java.* 包层级的 JavaPackage 语法: java 说明: 在包含了 LiveConnect 或其他用于脚本化 Java 的技术的 JavaScript 实现中,全局 java 属性就是一个 JavaPackage 对象,它表示 java. 包层级。这个属性的存在意味着像 java.util 这样的一个 JavaScript 表示式引用的是 java.

  • java java 格式的 chaincode。