Grails 2.5.2和Apache POI - ClassNotFoundException

时间:2016-02-03 08:21:02

标签: grails apache-poi

我需要从一个小的Grails应用程序将一些数据导出到Excel。为此,我在BuildConfig中添加了以下依赖项:

<class name="Contact" table="CONTACT">
    <id name="id" column="CONTACT_ID">
        <generator class="increment"/>
    </id>
    <property name="name" type="string" column="NAME"/>
    <property name="email"/>
    <property name="address"/>
    <property name="telephone"/>
       <property name="amount" type="big_decimal"/>

</class>

每当我尝试使用这些库时,我都会遇到ClassNotFoundException。以下代码重现错误:

    dependencies {            
        compile 'org.apache.poi:poi-ooxml:3.13'
        compile 'org.apache.poi:poi-ooxml-schemas:3.13'
    }

致电 Workbook workbook = new XSSFWorkbook() Sheet sheet = workbook.createSheet("Title") Row row = sheet.createRow(0) // Make first header row: row.createCell(0).setCellValue("Header1") 生成以下stacktrace消息:

row.createCell(0).setCellValue("Header1")

最初我只包含了Class java.lang.ClassNotFoundException Message org.openxmlformats.schemas.spreadsheetml.x2006.main.CTExtensionList 但是jar-finder搜索表明该类包含在poi-ooxml中,因此我也将其包括在内。但它仍然无法正常工作。代码编译良好,错误发生在运行时。

有什么建议吗?我错过了什么或什么?

1 个答案:

答案 0 :(得分:0)

重复帖子:apache POI exception in reading xlsx files

两种解决方案:

  • 降级至3.9
  • 使用完整的架构jar文件(~15mb)