Java 多个包的JAXB命名空间前缀配置?

Java 多个包的JAXB命名空间前缀配置?,java,jaxb,xml-namespaces,Java,Jaxb,Xml Namespaces,首先,我想说我已经读过 我的应用程序中有多个包,如 my.xml.pkg1 , my.xml.pkg2, my.xml.pkg3, my.xml.pkg4 等 我需要在每个包中放入package-info.java吗, pkg1、pkg2等中的package-info.java 或者一个全局包-info.java可以保存所有信息。像我 要将package-info.java文件放入my.xml包中,然后 让它发挥作用 下一个问题出现了,如果我把一个全局的 package-info.java那么

首先,我想说我已经读过

我的应用程序中有多个包,如

my.xml.pkg1 ,
my.xml.pkg2,
my.xml.pkg3,
my.xml.pkg4

  • 我需要在每个包中放入package-info.java吗, pkg1、pkg2等中的package-info.java
  • 或者一个全局包-info.java可以保存所有信息。像我 要将package-info.java文件放入my.xml包中,然后 让它发挥作用
  • 下一个问题出现了,如果我把一个全局的 package-info.java那么我应该如何指定XmlSchema?什么 应该是名称空间字段吗

  • 是否可以在一个包中包含多个XmlRootElement? 比如我在my.xml.pkg1中有两个java类,其中包含XMLRootElement,每个根元素都有不同的名称空间?在这种情况下,我们如何指定模式


  • 以下是我对你们问题的回答:

    1-我是否需要将package-info.java放在每个包中?例如,pkg1、pkg2等中的package-info.java

    package info.java
    是一种用于应用包级元数据的java机制。因此,放在一个包中的注释不会影响另一个包,这意味着您需要对每个包进行操作

    2-或者一个全局包-info.java可以保存所有信息。就像我想把package-info.java文件放在my.xml包中,然后 它起作用了

    否,见问题1的答案

    3-下一个问题是,如果这个答案是“是”,那么如果我放置一个全局包-info.java,那么我应该如何指定XmlSchema? 名称空间字段应该是什么

    见对问题1的答复

    4-是否可以在一个包中包含多个XmlRootElement?我有两个java类,在my.xml.pkg1中包含XMLRootElement 每个根元素都有不同的名称空间?在这种情况下,我们如何 指定模式

    是的,每个包可以有多个
    @XmlRootElement
    。每个类只能有一个,并且名称和命名空间的组合需要在用于引导
    JAXBContext
    的类的范围内是唯一的


    如果您有对应于不同名称空间的元素,那么就XML模式而言,您将有导入其他模式的模式,因为单个XML模式对应于单个名称空间。

    以下是我对您的问题的回答:

    1-我是否需要将package-info.java放在每个包中?例如,pkg1、pkg2等中的package-info.java

    package info.java
    是一种用于应用包级元数据的java机制。因此,放在一个包中的注释不会影响另一个包,这意味着您需要对每个包进行操作

    2-或者一个全局包-info.java可以保存所有信息。就像我想把package-info.java文件放在my.xml包中,然后 它起作用了

    否,见问题1的答案

    3-下一个问题是,如果这个答案是“是”,那么如果我放置一个全局包-info.java,那么我应该如何指定XmlSchema? 名称空间字段应该是什么

    见对问题1的答复

    4-是否可以在一个包中包含多个XmlRootElement?我有两个java类,在my.xml.pkg1中包含XMLRootElement 每个根元素都有不同的名称空间?在这种情况下,我们如何 指定模式

    是的,每个包可以有多个
    @XmlRootElement
    。每个类只能有一个,并且名称和命名空间的组合需要在用于引导
    JAXBContext
    的类的范围内是唯一的


    如果您有对应于不同名称空间的元素,那么就XML模式而言,您将有导入其他模式的模式,因为单个XML模式对应于单个名称空间。

    谢谢您的回答,你能和我分享我第四个问题的一个例子吗?@Nusrat你有第四个问题的例子吗?据我记忆所及,我必须提供唯一的名称和命名空间,就像Blaise在这些类中所说的那样,比如
    @XmlRootElement(name=“x”,namespace=“xy”)
    谢谢你的好答案,你能和我分享我第4个问题的一个例子吗?@Nusrat你有第4个问题的例子吗?据我记忆所及,我必须提供唯一的名称和命名空间,就像Blaise在这些类中所说的那样,比如
    @XmlRootElement(name=“x”,namespace=“xy”)