Hallo 
Ich habe mal wieder ein Problem. Und zwar setze ich JAXB zum lesen und schreiben von XML-Files ein. Ich habe mich in einer nativen Java-Application eingearbeitet und dabei folgendes Beispiel-Code erstellt:
Das klappt wunderbar und ohne Probleme
. Dann wollte ich das ganze in meine Web-Application einbauen (Seem, JBoss 4.2, jaxb-Libraries auf dem Server vorhanden).
Wenn ich dann meine Applikation laufen lasse kommt folgendes:
Ich habe gelesen, dass man die "jaxb-impl.jar" einbinden muss. Nur, wie und wo?
Wäre super wenn mir jemand weiterhelfen könnte
...
Ich habe mal wieder ein Problem. Und zwar setze ich JAXB zum lesen und schreiben von XML-Files ein. Ich habe mich in einer nativen Java-Application eingearbeitet und dabei folgendes Beispiel-Code erstellt:
Java:
try {
// A JAXBContext instance is created for handling classes generated in primer.po.
JAXBContext jc = JAXBContext.newInstance(Messages.class);
// An Unmarshaller instance is created.
Unmarshaller u = jc.createUnmarshaller();
// The default JAXB Unmarshaller ValidationEventHandler is enabled to send to validation warnings and errors to system.out. The default configuration causes the unmarshal operation to fail upon encountering the first validation error.
StreamSource streams[] = new StreamSource[1];
streams[0] = new StreamSource(new File("resources/messages.xsd"));
Schema s = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(streams);
u.setSchema(s);
Messages msgs = (Messages)u.unmarshal(new FileInputStream("resources/messages.xml"));
for(Message msg : msgs.getMessage()) {
System.out.println("From: " + msg.getPeriod().getDateFrom());
System.out.println("To: " + msg.getPeriod().getDateTo());
System.out.println("---");
System.out.println("DE: " + msg.getTexte().getDe());
System.out.println("FR: " + msg.getTexte().getFr());
}
} catch( UnmarshalException ue ) {
System.out.println( "Caught UnmarshalException" );
} catch( JAXBException je ) {
je.printStackTrace();
} catch( IOException ioe ) {
ioe.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Das klappt wunderbar und ohne Probleme
Wenn ich dann meine Applikation laufen lasse kommt folgendes:
Code:
09:32:32,574 ERROR [STDERR] Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
Ich habe gelesen, dass man die "jaxb-impl.jar" einbinden muss. Nur, wie und wo?
Wäre super wenn mir jemand weiterhelfen könnte