我正在使用JAXB在类和XML之间进行转换,并保存和读取XML文档。我在Eclipse Oxygen.1a Release(4.7.1a)中工作,我从这里将jaxb-api-2.3.0.jar
文件包含到项目中:https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api/2.3.0看起来我在Eclipse中的JAXB-API实现没有做得对。我不知道该怎么做。我只是包含了jar文件,希望它可以工作。
现在我的代码抛出了期望Implementation of JAXB-API has not been found on module path or classpath
。
/**
* Saves the current person data to the specified file.
*
* @param file
*/
public void savePersonDataToFile(File file) {
try {
JAXBContext context = JAXBContext
.newInstance(PersonListWrapper.class);
Marshaller m = (Marshaller) context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
// Wrapping our person data.
PersonListWrapper wrapper = new PersonListWrapper();
wrapper.setPersons(personData);
// Marshalling and saving XML to the file.
((Marshaller) m).marshal(wrapper, file);
// Save the file path to the registry.
setPersonFilePath(file);
} catch (Exception e) { // catches ANY exception
Alert alert = new Alert(AlertType.ERROR);
alert.setTitle("Error");
alert.setHeaderText("Could not save data");
//alert.setContentText("Could not save data to file:\n" + file.getPath());
alert.setContentText(e.getMessage());
alert.showAndWait();
}
}
我必须缺少配置。