2

我想使用Apache POI 库解析一个 excel 文件,以将开发模式下的一些数据引导到我的 grails 2.0.1 应用程序中。

我尝试使用 Grails excel-import 插件,但是当我执行 run-app 时插件会自动卸载

因此,我决定暂时不使用插件。首先,我将下一个 jar 复制到 grails 应用程序 lib 文件夹中

$ls -la lib
poi-3.7-20101029.jar
poi-ooxml-3.7-20101029.jar
poi-ooxml-schemas-3.7-20101029.jar
xmlbeans-2.3.0.jar

我读过我应该在grails-app/conf/BuildConfig.groovy. 所以,我添加了下一个:

   dependencies {
        // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
        compile ('org.apache.poi:poi:3.7', 'org.apache.poi:poi-ooxml:3.7')  

        // runtime 'mysql:mysql-connector-java:5.1.16'
    }

但是,当我执行 run-app 时,应用程序仍然无法找到罐子。

grails> run-app
| Compiling 76 source files

| Compiling 30 source files.
| Error Compilation error: startup failed:
UMEExcelImporter.groovy: 8: unable to resolve class org.apache.poi.xssf.usermodel.XSSFSheet
 @ line 8, column 1.
   import org.apache.poi.xssf.usermodel.XSSFSheet
   ^

UMEExcelImporter.groovy: 7: unable to resolve class org.apache.poi.xssf.usermodel.XSSFWorkbook
 @ line 7, column 1.
   import org.apache.poi.xssf.usermodel.XSSFWorkbook
   ^

UMEExcelImporter.groovy: 9: unable to resolve class org.apache.poi.xssf.usermodel.XSSFRow
 @ line 9, column 1.
   import org.apache.poi.xssf.usermodel.XSSFRow

我没有使用任何 IDE。欢迎任何反馈!

4

2 回答 2

4

POI jars 在公共 Maven 存储库中,所以试试这个:

  1. 从您的 lib 文件夹中删除 jars
  2. 清理你的构建: grails clean
  3. 在您 BuildConfig.groovy 中确保“存储库”闭包mavenCentral()包含/未注释“”
  4. 你的依赖看起来不错(我还没有确认)所以现在试试 run-app

高温高压

于 2012-02-26T23:03:32.143 回答
3

尝试添加运行时依赖项,而不是添加编译依赖项,如下所示。

dependencies {
        // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
        runtime ('org.apache.poi:poi:3.7', 'org.apache.poi:poi-ooxml:3.7')  

    // runtime 'mysql:mysql-connector-java:5.1.16'
}
于 2012-12-12T06:33:16.123 回答