JAXB Marshall不输出XML

时间:2018-11-11 07:58:28

标签: java jaxb

我正在尝试创建一个简单的JAXB程序并将该对象写到xml文件中,但是它没有创建任何输出-我正在粘贴示例代码和输出-

代码-

 ObjectFactory fct = new ObjectFactory();
        ImportParams imp = fct.createImportParams();
        FolderMaps fmaps = fct.createFolderMaps();

        FolderMap fmap = fct.createFolderMap();
        imp.setFolderMaps(fmaps);
        fmap.setSourceFolderPath("test");
        fmaps.getFolderMap().add(fmap);
        System.out.println("Size is " + fmaps.getFolderMap().size());
        System.out.println("Path is " + fmap.getSourceFolderPath());


        ImportParams imp1 = new ImportParams();
        imp1.setFolderMaps(fmaps);

JAXBContext ctx = null;
System.out.println("Writing JAXB objects");
try {
    ctx = JAXBContext.newInstance("com.au");
    System.out.println("Inside JAXB");
    Marshaller marshaller = ctx.createMarshaller();
    System.out.println("Marshal Started");
    marshaller.marshal(fmaps, System.out);
    marshaller.marshal(imp, System.out);
    marshaller.marshal(fmap, System.out);
    System.out.println("Marshal Completed");
    marshaller.marshal(fmaps, new File ("C:\\Users\\test\\Desktop\\eclipse_workspace_64\\abcjaxb.xml"));
} catch (Exception e) {
    // TODO: handle exception
}

输出为

Size is 1
Path is test
Writing JAXB objects
Inside JAXB
Marshal Started
Parameter file successfully created

在元帅启动后终止,并且未创建xml文件

1 个答案:

答案 0 :(得分:0)

您需要将@XmlRootElement添加到您的com.au.FolderMap类中,例如

 package com.au;
 @XmlRootElement
 public class FolderMap {
      // ...
 )