我是Java新手,我刚刚使用Netbeans,Maven和Apache POI开发了一个应用程序。
应用程序从excel文件读取输入并在不同的excel文件中生成输出。
当我运行应用程序Netbeans一切正常时,但是当我尝试运行生成的jar文件时,我收到以下错误
classnotfoundexeption:org.apache.poi.ss.usermodel.row
答案 0 :(得分:0)
您使用Maven,因此您需要在依赖项中添加所需的库。
就像那样:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11</version>
</dependency>
你会用这个: org.apache.poi.ss.usermodel.Row
如果您想将依赖项放入jar文件中,则需要强制构建:
<!-- Add Shade plugin to include Apache POI dependencies into jar -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<includes>
<include>org.apache.poi:poi-ooxml-schemas</include>
<include>org.apache.poi:poi-ooxml</include>
<include>org.apache.poi:poi</include>
<include>org.apache.xmlbeans:xmlbeans</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 1 :(得分:0)
我已经在我的POM.xml中声明了poi和poi-ooxml的依赖性,因此应用程序在netbeans中运行良好。问题是生成的.jar文件没有运行