How to resolve "java.lang.NoClassDefFoundError:" while running a Jar file built using IntelliJ IDE?

How to resolve "java.lang.NoClassDefFoundError:" while running a Jar file built using IntelliJ IDE?

我有一些代码基本上使用 Apache POI 将数据读取和写入 excel 文件。我在我的 运行 和调试模式下 运行 编译代码,它 运行 没有任何问题,但是一旦我使用以下命令创建了一个 jar

构建 -> 构建工件 -> 构建 要么 构建 -> 构建工件 -> 重建

然后我尝试 运行 jar 我得到以下错误。

线程中的异常 "JavaFX Application Thread" java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook

我尝试了以下方法:

  1. 重建或清理构建
  2. 转到项目设置 -> 模块 -> 依赖项并选中所有导出复选框

代码出错的行:

XSSFWorkbook workBookObj = new XSSFWorkbook(fileIn);

要解决此问题,请重新创建 "Build Artifact" 以下步骤:

  1. 文件 -> 项目设置 -> 工件 -> select 现有工件 -> -(点击删除)

  2. 从 src

  3. 中删除 "META-INF" 文件夹和 "MANIFEST.MF" 文件
  4. 文件 -> 项目设置 -> 工件 -> select 现有工件 -> +(点击删除)

  5. Artifacts -> Add -> Jar -> From modules with dependencies 如下所示

  1. Select 有主要方法的class 然后点击确定。

  2. 返回 Build -> Build Artificats -> Select 你的新工件并点击创建工件,如下所示