当前位置: 首页 > 面试题库 >

是否可以从带有JAXB注释的类生成XSD?

黄啸
2023-03-14
问题内容

我已经使用JAXB编写了许多类进行序列化,并且我想知道是否存在一种基于注释为每个对象生成XSD文件的方法。有这个工具吗?

喜欢的东西generate-xsd com/my/package/model/Unit.java真棒 。有什么可以做的吗?


问题答案:

是的,您可以generateSchema在JAXBContext上使用该方法:

JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
SchemaOutputResolver sor = new MySchemaOutputResolver();
jaxbContext.generateSchema(sor);

您可以利用实现SchemaOutputResolver控制输出的位置:

public class MySchemaOutputResolver extends SchemaOutputResolver {

    public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
        File file = new File(suggestedFileName);
        StreamResult result = new StreamResult(file);
        result.setSystemId(file.toURI().toURL().toString());
        return result;
    }

}


 类似资料:
  • 问题内容: 我有各种领域的mysql表。 是否可以在eclispe中自动生成带有Java字段,getter和setter的mysql表列映射的java文件 问题答案: 使用hibernate工具 编辑 : 请参阅《Hibernate工具参考指南》。 重要的步骤是 创建和配置 打开透视图并进行配置 可选:为生成扩展的类文件

  • 手工编写类和从scheme生成JAXB类的优缺点是什么。我开始新的项目,并希望了解如何选择避免陷阱。 我有复杂的XML结构(基本上是FreeSwitch配置定义),包括不同XML级别上的可重复类型。

  • 问题内容: 我们的项目使用XJC从XSD生成Java类。我正在使用JAVA EE 6。 当我们所有的XSD重新生成时,生成的类在文件顶部包含以下注释: 是否可以取消此评论?原因是我们使用SVN进行版本控制,并且每次重新生成类时,每个单独的文件都显示为已在SVN中进行了更改,即使唯一的区别是此注释。因此,如果可能的话,我想完全删除该评论。 有一个指令,但是我不想删除整个标头,以使子孙后代知道它是从工

  • MOXy BeanValide使我能够将验证添加到我的JAXB类中。 使用MOXy的“Bean Validation Plugin”,我可以根据预先存在的模式中的限制/方面在生成的JAXB类中进行Bean验证。 但是,有没有任何方法可以基于JAXB注释的java类的Bean验证注释生成带有限制/facetsb的模式? 在“模式优先”生成java时,XJC有一个方便的插件体系结构,但是是否有任何等效

  • 我有我的xml模式定义如下 我使用maven-jaxb2-plugin根据这个xsd生成Java类。 生成代码后,我发现所有元素都有@xmlement注释(required=true)。为什么?我有许多minOccurs=“0”元素。为什么元素上总是添加required=true。

  • 我知道Netbeans可以从。wsdl文件生成Java方法。 Netbeans可以基于Java类及其所有方法创建。wsdl文件吗? https://netbeans.org/kb/docs/websvc/jax-ws.html 我知道怎么做那部分。我想知道是否有更好、更快的方法从我已经拥有的Java方法中开发出web服务。 假设我有一个Java接口类,它要求2个字符串输入并返回一个字符串: 那个包