classnotfoundexception:org.apache.poi.ss.usermodel.row

时间:2015-04-13 08:13:25

标签: java excel apache maven netbeans

我是Java新手,我刚刚使用Netbeans,Maven和Apache POI开发了一个应用程序。

应用程序从excel文件读取输入并在不同的excel文件中生成输出。

当我运行应用程序Netbeans一切正常时,但是当我尝试运行生成的jar文件时,我收到以下错误

  

classnotfoundexeption:org.apache.poi.ss.usermodel.row

2 个答案:

答案 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文件没有运行