创建可运行的 jar 文件并使用 Extract required 和 Package required lib 获得不同的结果

问题描述

我有一个 maven 项目使用 POI lib,当我在 eclipse 中运行它时它很好。 但是当我将此应用程序导出到 jar 文件时,它出现了问题

  1. 如果我使用 Extract required libraries 导出到生成的 JAR -> exec jar 文件并收到此错误消息 java.io.IOException:您的 InputStream 既不是 OLE2 流,也不是 OOXML 流,或者您没有在类路径/模块路径中提供 poi-ooxml*.jar - FileMagic: OOXML,具有提供者:[org.apache.poi .hssf.usermodel.hssfWorkbookFactory@5ad94591]

  2. 如果我将 Package required 库导出到生成的 JAR 中 -> exec jar 文件,它在 eclipse 上运行时结果相同,但速度很慢

我试图用

更新 pom.xml
  <plugin>
                  <artifactId>maven-assembly-plugin</artifactId>
                  <configuration>
                    <archive>
                      <manifest>
                        <mainClass>excelFile.mainFunc.mainfunc</mainClass>
                      </manifest>
                    </archive>
                    <descriptorRefs>
                      <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                  </configuration>
                  <executions>
                    <execution>
                      <id>make-assembly</id> <!-- this is used for inheritance merges -->
                      <phase>package</phase> <!-- bind to the packaging phase -->
                      <goals>
                        <goal>single</goal>
                      </goals>
                    </execution>
                  </executions>
                </plugin>

但是导出 jar 文件的时候还是会出现这些问题。请帮忙!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)