ClassNotFoundException: org.apache.xpath.XPathAPI

조회 5,969 · 댓글 2
열린기술자열린기술자작성자2014년 5월 15일
잘 사용하던 소스이고 JDK 1.7 환경에서 작업 중인데,

java.lang.ClassNotFoundException: org.apache.xpath.XPathAPI
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
...

에러가 납니다. 왜 그런걸까요?
appsrootappsroot2014년 5월 15일
JDK 1.7 기준으로 XPathAPI 의 경로는 위와 다릅니다. (rt.jar 내에서 확인 가능합니다)

org.apache.xpath.XPathAPI
-> com.sun.org.apache.xpath.internal.XPathAPI

1. 소스 내에 org.apache.xpath.XPathAPI 로 import 된 부분을 변경된 패키지 경로로 변경하시면 됩니다.

2. 소스 변경이 어려울 경우 xalan 라이브러리를 추가로 사용하세요. 그러면 org.apache.xpath.XPathAPI 을 유지할 수 있습니다. (http://xml.apache.org/xalan-j/)
nnastyboy2014년 5월 15일
Oracle (Sun) Java 와 IBM Java 경우를 따로 봐야 합니다.

appsroot 께서 말씀하신 내용이 맞지만, 이는 Oracle Java 를 사용하는 경우입니다.

만일 IBM Java 를 사용한다면 제가 확인한 바에 따르면 1.5 버전과 1.6 버전 모두 org.apache.xpath.XPathAPI 로 사용이 가능하죠. xml.jar 안에 포함되어 있음.

IBM Java 1.7 은 제가 가지고 있지 않아 지금 더 확인은 어려운데 1.5 / 1.6 의 경우와 아마 다르지 않을겁니다.

로그인 후 답글을 남길 수 있습니다.