Loro sembra essere un problema quando tento di eseguire il marshaller JAXB in un modulo netbeans. Inizialmente ho pensato che fosse l'implimentation nodo in modo Ho trascorso un paio di giorni riorganizzare tutto però ero ancora recieveing il messaggio di errore stranoJAXB in NetBeans Module
javax.xml.bind.JAXBException: ClassCastException: attempting to cast jar:file:/C:/Program%20Files/jmonkeyplatform/ide/modules/ext/jaxb/api/jaxb-api.jar!/javax/xml/bind/JAXBContext.class to jar:file:/C:/Program%20Files/Java/jdk1.6.0_21/jre/lib/rt.jar!/javax/xml/bind/JAXBContext.class. Please make sure that you are specifying the proper ClassLoader.
at javax.xml.bind.ContextFinder.handleClassCastException(ContextFinder.java:96)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:205)
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.spectre.util.JAXBImporterExporter.write(JAXBImporterExporter.java:63)
io non sono esattamente sicuro che cosa il problema è l'importatore/esportatore sembra funzionare in i progetti normali e l'importatore sembrano funzionare correttamente durante l'analisi del file, tuttavia l'esportazione sembra causare problemi. Il metodo che uso per l'esportazione è
public static <T> void write(T savable, Class<T> type,Object path) {
try {
JAXBContext jc = JAXBContext.newInstance(type);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
if(path instanceof File)
marshaller.marshal(savable, (File)path);
else if(path instanceof OutputStream){
marshaller.marshal(savable, (OutputStream)path);
}else throw new NoSuchMethodException("The Field Path must be of either type File or OutputStream");
} catch (NoSuchMethodException ex) {
Exceptions.printStackTrace(ex);
} catch (JAXBException ex) {
Exceptions.printStackTrace(ex);
}
}
qualsiasi tipo di assistenza è apprezzato
Ho trovato che sembra essere un problema con 2 diversi caricatori di classe utilizzati in fase di esecuzione, ma non riesco a trovare la correzione corretta. Credo che possa essere aiutato con un altro costruttore, ma non riesco a capire che cosa dovrebbe essere incluso come il primo parametro contestoPath e impostarlo su stringa vuota o vuota sembra causare e problema 'JAXBContext jc = JAXBContext.newInstance (" ", JAXBImporterExporter.class.getClassLoader());' – kdgwill
Inserisci le risposte come risposte, non metterle nella tua domanda. C'è un pulsante "Rispondi alla tua domanda" in basso. Non c'è nemmeno bisogno di urlare "RISPOSTA" nel titolo o qualcosa del genere. Contrassegna la risposta accettata ogni volta che il tempo è maturo. Guarda, questo è un sito di domande e risposte, non un forum di discussione o qualcosa di primitivo come questo :) – BalusC
okay l'ho capito presto la scorsa notte e dato che nessuno ha risposto o commentato ho capito che sarebbe stato corretto pubblicare una delle soluzioni dal qualcuno ha votato la domanda – kdgwill