xjc 如何确定要用于生成 类 的包?

How does xjc determine the package to use for generated classes?

我有一个包含现有 WSDL 文件的项目,它从中生成了一些对应于 ComplexTypes 的 Java 类。这几个月来一切正常,现在仍然如此。但我无法弄清楚它是如何决定用于生成的 类.

的包的

我现在想为类似的目的添加另一个 WSDL,但它生成的 类 当然会放在不同的包中。

我在所有 XML 个文件中搜索了 "package";我在所有文件中搜索了现有的 generated 类 包名称(仅在我使用 generated 类 的源文件中找到它,这确实告诉我我拼写正确)。包名称未出现在指定 xjc 插件和目标的 pom.xml 中的任何位置。

如果我只是尝试一下,它可能会起作用,但我更愿意了解它是如何工作的,并降低生成的 类 在我的工作区的某些部分乱扔垃圾的风险。 XJC(或 Maven,或其他人)从哪里获得包名?

它将结合 xsd 相对于 src 文件夹和您的命名空间的位置。

例如,如果您的命名空间是 http://www.w3.org/2005/Atom,您的包将是 org.w3._2005.atom.

它将添加到 XSD 的包中。

你可以覆盖这个,如果你使用你可以指定的maven插件,见http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/example_xjc_basic.html