Mam obiekt JAXB, który mogę usunąć przy pomocy efektu niezgrabnego. Jednakże, jeśli dodać element [] Pole uwagami z @XmlAnyElement, podczas próby unmarshal rzuca:Nieprawidłowy interfejs JAXP API podczas niemagania JAXB
java.lang.IllegalStateException: Używasz z nieprawidłowym API JAXP lub realizacji. Wymagane jest JAXP api/implementacja wersji 1.3.1 (zawarta w JDK6) lub wyższej. Jeśli używasz mrówki, upewnij się, że użyto mrówki 1.7.0 lub wyższej - starsze wersje mrówki zawierają JAXP api/impl w wersji 1.2 (w xml-apis.jar). Jeśli chcesz nadal używać starszych wersji ant, musisz go skonfigurować, aby używać wyższych wersji JAXP api/impl.
Jest to wykonywane z testu TestNG, który uruchamiam za pomocą wtyczki Eclipse. Używam wersji 1.6 JDK i skonfigurowałem program maven, aby wykluczyć stare wersje słoika xml-apis, ale wydaje mi się, że nie działa. Zakładam, że wciąż znajduję niekompatybilne wersje bibliotek skądś, ale nie wiem skąd.
Running poprzez Eclipse bezpośrednio uzyskać:
29-Aug-2013 10:04:08 com.sun.xml.bind.v2.util.XmlFactory createTransformerFactory
SEVERE: null
java.lang.AbstractMethodError: javax.xml.transform.TransformerFactory.setFeature(Ljava/lang/String;Z)V
at com.sun.xml.bind.v2.util.XmlFactory.createTransformerFactory(XmlFactory.java:155)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.createTransformerHandler(JAXBContextImpl.java:747)
at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader$State.<init>(DomLoader.java:75)
at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader.startElement(DomLoader.java:118)
at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:60)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:501)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:480)
at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:150)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:218)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:190)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:184)
at com.gtspt.vrs.parser.AbstractParserTest.unmarshal(AbstractParserTest.java:33)
at com.gtspt.vrs.parser.AbstractParserTest.testParser(AbstractParserTest.java:26)
at com.gtspt.vrs.parser.TestResultsParser.testParser(TestResultsParser.java:17)
at com.gtspt.vrs.parser.Test.main(Test.java:16)
Jeśli działasz poza środowiskiem TestNG, czy wszystko działa poprawnie? –
Dodano ślad stosu podczas edycji. – samblake