XLSTransformer 사용 문의
- 작성자 :
- 이*완
- 작성일 :
- 2012-12-11 02:26:55
- 조회수 :
- 1,470
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
Java라이브러리에서 jxls관련 jar파일을 삭제하고 나니 별다른 에러없이 Local에서 성공적으로 DB자료를 가지고 엑셀파일을 생성할 수 있었습니다.
그런데 Maven Install로 www.war를 만들어 Linux서버에 올려서 테스트를 해보니
아래와 같은 에러가 발생했습니다.
이런 에러는 어떻게 하면 잡을 수 있나요?
2012. 12. 11 ?ㅼ쟾 2:13:17 org.apache.catalina.core.StandardWrapperValve invoke
?ш컖: Servlet.service() for servlet action threw exception
java.lang.VerifyError: (class: net/sf/jxls/parser/Cell, method: toCellName signature: ()Ljava/lang/String;) Incompatible object argument for function call
at net.sf.jxls.parser.CellParser.<init>(CellParser.java:34)
at net.sf.jxls.util.SheetHelper.findFormulasInRow(SheetHelper.java:69)
at net.sf.jxls.util.SheetHelper.findFormulas(SheetHelper.java:30)
at net.sf.jxls.util.SheetHelper.findFormulas(SheetHelper.java:22)
at net.sf.jxls.transformer.Workbook.createFormulaSheetMap(Workbook.java:91)
at net.sf.jxls.formula.FormulaControllerImpl.<init>(FormulaControllerImpl.java:27)
at net.sf.jxls.transformer.Workbook.createFormulaController(Workbook.java:97)
at net.sf.jxls.transformer.XLSTransformer.createWorkbook(XLSTransformer.java:434)
at net.sf.jxls.transformer.XLSTransformer.transformWorkbook(XLSTransformer.java:225)
at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:217)
at pasix.cntl.PasixCommUtilCntl.excelDownload(PasixCommUtilCntl.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
----------------
질문
pom.xml에는 첨부와 같이 이미 commons-logging 라이브러리가 기술되어 있고
이클립스의 Maven dependencies에도 commons-logging-1.1.1.jar가 있습니다.
import net.sf.jxls.transformer.XLSTransformer;
소스에서 위 구문에 노란줄이 쳐지면서 아래와 같은 Hint가 보입니다.
The type XLSTransformer is not accessible due to restriction on required library C:\Java\jdk1.7.0_09\jre\lib\ext\jxls-core-1.0.1.jar
--------------
답변:
commons-logging library가 없어서 발생된 문제 같습니다.
pom.xml 상에 다음 dependency를 추가하시면 되실 것 같습니다.
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
Java라이브러리에서 jxls관련 jar파일을 삭제하고 나니 별다른 에러없이 Local에서 성공적으로 DB자료를 가지고 엑셀파일을 생성할 수 있었습니다.
그런데 Maven Install로 www.war를 만들어 Linux서버에 올려서 테스트를 해보니
아래와 같은 에러가 발생했습니다.
이런 에러는 어떻게 하면 잡을 수 있나요?
2012. 12. 11 ?ㅼ쟾 2:13:17 org.apache.catalina.core.StandardWrapperValve invoke
?ш컖: Servlet.service() for servlet action threw exception
java.lang.VerifyError: (class: net/sf/jxls/parser/Cell, method: toCellName signature: ()Ljava/lang/String;) Incompatible object argument for function call
at net.sf.jxls.parser.CellParser.<init>(CellParser.java:34)
at net.sf.jxls.util.SheetHelper.findFormulasInRow(SheetHelper.java:69)
at net.sf.jxls.util.SheetHelper.findFormulas(SheetHelper.java:30)
at net.sf.jxls.util.SheetHelper.findFormulas(SheetHelper.java:22)
at net.sf.jxls.transformer.Workbook.createFormulaSheetMap(Workbook.java:91)
at net.sf.jxls.formula.FormulaControllerImpl.<init>(FormulaControllerImpl.java:27)
at net.sf.jxls.transformer.Workbook.createFormulaController(Workbook.java:97)
at net.sf.jxls.transformer.XLSTransformer.createWorkbook(XLSTransformer.java:434)
at net.sf.jxls.transformer.XLSTransformer.transformWorkbook(XLSTransformer.java:225)
at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:217)
at pasix.cntl.PasixCommUtilCntl.excelDownload(PasixCommUtilCntl.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
----------------
질문
pom.xml에는 첨부와 같이 이미 commons-logging 라이브러리가 기술되어 있고
이클립스의 Maven dependencies에도 commons-logging-1.1.1.jar가 있습니다.
import net.sf.jxls.transformer.XLSTransformer;
소스에서 위 구문에 노란줄이 쳐지면서 아래와 같은 Hint가 보입니다.
The type XLSTransformer is not accessible due to restriction on required library C:\Java\jdk1.7.0_09\jre\lib\ext\jxls-core-1.0.1.jar
--------------
답변:
commons-logging library가 없어서 발생된 문제 같습니다.
pom.xml 상에 다음 dependency를 추가하시면 되실 것 같습니다.
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
A
안녕하세요. 이완완님
war파일에 jxls-core-1.0.1.jar 라이브러리가 포함되어 있는 지 확인해 보시기 바랍니다.
C:\Java\jdk1.7.0_09\jre\lib\ext\jxls-core-1.0.1.jar 선언시 메이븐으로 war파일 생성할 때 라이브러리가 빠질 수 있습니다.
관련 라이브러리를 ext가 아닌 pom.xml에서 선언하시기 바랍니다.
고맙습니다.
war파일에 jxls-core-1.0.1.jar 라이브러리가 포함되어 있는 지 확인해 보시기 바랍니다.
C:\Java\jdk1.7.0_09\jre\lib\ext\jxls-core-1.0.1.jar 선언시 메이븐으로 war파일 생성할 때 라이브러리가 빠질 수 있습니다.
관련 라이브러리를 ext가 아닌 pom.xml에서 선언하시기 바랍니다.
고맙습니다.