我有一个包含现有 WSDL 文件的项目,它从该文件生成许多与 ComplexTypes 相对应的 Java 类。几个月以来,这一切都运行良好,而且仍然如此。但我无法弄清楚它如何决定用于生成的类的包。
我现在想要添加另一个 WSDL 来实现类似的目的,但它生成的类当然会放在不同的包中。
我已经在所有 XML 文件中搜索了“package”;我已经在所有文件中搜索了现有的生成类包名称(仅在我使用生成类的源文件中找到它,这确实告诉我我拼写正确)。包名称不会出现在指定 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 .
关于java - xjc 如何确定生成的类使用的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42535378/