2
JAXB 프로 구현으로 목시를 사용하여, 다음 클래스는 예외로 연결 :왜 JAXB Moxy가 ArrayIndexOutOfBoundsException을 던집니까?
@XmlRootElement(name="fraPage")
@XmlAccessorType(XmlAccessType.FIELD)
case class FraPage(@ScalaXmlTypeAdapter(value=classOf[FraSeqAdapter]) @ScalaXmlElementWrapper(name="fras") data:Seq[Fra],@XmlTransient id: FraPageId, @ScalaXmlElement header:FraPageHeader) extends PageWithId[FraPageId]{
private def this()= this(null,null,null)
lazy val isEmpty = data.isEmpty
}
Exception in thread "main" javax.xml.bind.JAXBException: 0
- with linked exception:
[java.lang.ArrayIndexOutOfBoundsException: 0]
at org.eclipse.persistence.jaxb.JAXBContext$TypeMappingInfoInput.createContextState(JAXBContext.java:908)
at org.eclipse.persistence.jaxb.JAXBContext.<init>(JAXBContext.java:157)
at org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(JAXBContextFactory.java:170)
at org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(JAXBContextFactory.java:157)
at org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(JAXBContextFactory.java:117)
at org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(JAXBContextFactory.java:107)
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)
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 com.gottex.gottware.services.Dummy$.main(Dummy.scala:16)
at com.gottex.gottware.services.Dummy.main(Dummy.scala)
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)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.eclipse.persistence.jaxb.compiler.MappingsGenerator.generateDirectCollectionMapping(MappingsGenerator.java:2004)
at org.eclipse.persistence.jaxb.compiler.MappingsGenerator.generateMapping(MappingsGenerator.java:501)
at org.eclipse.persistence.jaxb.compiler.MappingsGenerator.generateMappings(MappingsGenerator.java:2265)
at org.eclipse.persistence.jaxb.compiler.MappingsGenerator.generateMappings(MappingsGenerator.java:2225)
at org.eclipse.persistence.jaxb.compiler.MappingsGenerator.generateProject(MappingsGenerator.java:201)
at org.eclipse.persistence.jaxb.compiler.Generator.generateProject(Generator.java:185)
at org.eclipse.persistence.jaxb.JAXBContext$TypeMappingInfoInput.createContextState(JAXBContext.java:913)
at org.eclipse.persistence.jaxb.JAXBContext$TypeMappingInfoInput.createContextState(JAXBContext.java:905)
... 20 more
Process finished with exit code 1
일어나는 이유는 무엇입니까? 나는 목시 버전 2.4.0
당신이 구성 요소의 버전을 적어주십시오 수있는 다음과 같은 버그를 사용하여이 문제에 대한 우리의 진행 상황을 추적 할 수 있습니까? 그것을 파악하는 가장 좋은 방법은 소스를 자세히 조사하는 것입니다. 버전을 모르는 상태에서 2004 년 라인은 많이 말하지 않습니다. –
또한이 버그는 관련이 없습니다 : https://bugs.eclipse.org/bugs /show_bug.cgi?id=331144 확인할 가치가 있습니다. –