2012-02-26 115 views
2

我想使用Apache POI library解析excel文件,將開發模式中的一些數據引導到我的grails 2.0.1應用程序中。從grails的lib文件夾中讀取jar文件

我試過使用Grails excel-import plugin但是plugin uninstalls automatically when I execute run-app

因爲這個原因,我決定現在就不用插件了。首先我抄下一罐子到我讀過,我應該申報grails-app/conf/BuildConfig.groovy依賴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 

。因此,我添加了下一個:

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。歡迎任何反饋!

+0

是否有任何複製的jar包含此類? – 2012-02-26 10:45:57

回答

4

的POI罐子是公共的Maven回購的那麼試試這個:

  1. 從lib文件夾中刪除罐子
  2. 與清潔您的構建:grails clean
  3. 在你BuildConfig.groovy確保「庫」封有‘mavenCentral()’包括/取消註釋
  4. 你的依賴性看起來不錯(我還沒有證實它),所以現在嘗試運行的應用程序

HTH

+0

我照你說的做了,沒有問題 – 2012-02-27 11:25:10

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' 
}