내 Play 프로젝트는 현재 Play의 pdf module version 0.9
및 JavaAPIforKml 2.2.0
(kml 파일을 나타내는 개체를 만드는 데 사용됨)에 의존합니다.Play Framework : JavaAPIforKml을 사용하여 PDF 0.9 모듈이 제대로 재생되지 않음
이전에 pdf module version 0.7
을 사용하고 있었는데 모든 것이 잘 작동했습니다.
이제 버전 0.9로 업그레이드되었으므로 kml 기반 클래스에 대한 모든 테스트가 실패합니다.
java.lang.ClassNotFoundException: org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl
at java.lang.ClassLoader.findClass(ClassLoader.java:358)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at
play.classloading.ApplicationClassloader.loadClass(ApplicationClassloader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at javax.xml.datatype.FactoryFinder.getProviderClass(FactoryFinder.java:115)
at javax.xml.datatype.FactoryFinder.newInstance(FactoryFinder.java:146)
at javax.xml.datatype.FactoryFinder.findJarServiceProvider(FactoryFinder.java:298)
at javax.xml.datatype.FactoryFinder.find(FactoryFinder.java:223)
at javax.xml.datatype.DatatypeFactory.newInstance(DatatypeFactory.java:131)
at com.sun.xml.bind.DatatypeConverterImpl.<clinit>(DatatypeConverterImpl.java:833)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$3.run(JAXBContextImpl.java:287)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$3.run(JAXBContextImpl.java:286)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:285)
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1140)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:202)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:363)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
at de.micromata.opengis.kml.v_2_2_0.Kml.getJaxbContext(Kml.java:631)
at de.micromata.opengis.kml.v_2_2_0.Kml.createMarshaller(Kml.java:640)
at de.micromata.opengis.kml.v_2_2_0.Kml.marshal(Kml.java:682)
예외를 발생시키는 코드의 부분은 이것이다 :
de.micromata.opengis.kml.v_2_2_0.Kml kml = ...
kml.marshal(someByteArrayOutputStream); // This is the line that causes the exception
내가 PDF 모듈 버전 0.7로 다시 전환하는 경우는, 모든 것을 다시 작동 내가 얻을 예외는 이것이다. 누구든지 pdf 모듈 버전 0.9를 계속 사용하고 kml 테스트를 계속 진행할 수 있는지 알 수 있습니까? JavaApiForKml 버전 2.2.0이 종속되지만
core-renderer.jar
itest-2.1.7.jar
jaxen-1.1.jar
jtidy-r938.jar
shani-parser-v1.4.17.jar
xml-apis.jar
yahp-internal.jar
yahp.jar
:이 도움이 경우
, PDF로 모듈 버전 0.9은 이러한 종속성이 나는 그럭저럭 한
jaxb-impl 2.2
jaxb-xjc 2.2
xmlunit 1.2