2014-04-17 3 views
0

I가 실행 : 나는 이러한 패키지를 가져온java.lang.ClassNotFoundException가 : org.apache.poi.ss.formula.udf.IndexedUDFFinder

java.lang.ClassNotFoundException: org.apache.poi.ss.formula.udf.IndexedUDFFinder 

:

Workbook workbook = new XSSFWorkbook([from a FileInputStream]); 

나는 오류를 얻을 :

import org.apache.poi.ss.usermodel.Workbook; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

그들은이 같은 메이븐의 pom.xml에 따라 달라집니다

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi-ooxml</artifactId> 
    <version>3.10-FINAL</version> 
</dependency> 
+0

그 파일은 아파치 POI 항아리 또는 중 하나를 그것의 종속성은 런타임에 classpath에 없습니다. 너 어떻게 지내니? – jgitter

답변

7

poi (3.9)와 poi-ooxml (3.10)의 버전 차이로 인해이 오류가 발생했습니다. 버전을 확인하십시오. 나를 위해 올바른 하나

<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>3.10-FINAL</version> 
     <type>jar</type> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.10-FINAL</version> 
     <type>jar</type> 
    </dependency> 
+1

이것을 추가 한 후에도 여전히 동일한 오류가 발생합니다. –

1

내가 사용하고는 다음과 잘 작동합니다 :

import org.apache.poi.xssf.usermodel.XSSFCell; 
import org.apache.poi.xssf.usermodel.XSSFRow; 
import org.apache.poi.xssf.usermodel.XSSFSheet; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

InputStream myxls = new FileInputStream(fileName); 
XSSFWorkbook wb = new XSSFWorkbook(myxls); 

<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>3.15</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.15</version> 
    </dependency> 
관련 문제