从grails中的lib文件夹中读取jar文件

时间:2012-02-26 09:48:03

标签: grails jar grails-2.0

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

我尝试使用Grails excel-import plugin,但plugin uninstalls automatically when I execute run-app

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

$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时,应用程序仍然无法找到jar。

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。欢迎任何反馈!

2 个答案:

答案 0 :(得分:4)

POI罐子在公共Maven回购中,所以试试这个:

  1. 从lib文件夹中删除jar
  2. 使用:grails clean
  3. 清理您的构建
  4. 在BuildConfig.groovy中,确保“存储库”关闭包含“mavenCentral()”包含/取消注释
  5. 您的依赖项看起来没问题(我还没有确认)所以现在尝试运行应用程序
  6. HTH

答案 1 :(得分: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'
}