Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有五个共享名称空间的 WSDL,但不是全部。我用它们生成客户端代码(使用 XMLBeans 进行数据绑定)。他们分别编译得很好。我从每个生成的客户端代码中创建 JAR 文件。
一旦我尝试在项目中使用所有 JAR 文件,就会出现命名/编译冲突。
我想尽可能地重复使用。有没有什么聪明的方法来处理这个问题(而不是在包结构中给每个客户端一个自己的节点)?
XMLBeans (2.x)常见问题解答说明了xsdconfig命名空间映射的限制:
注意:XMLBeans 不支持使用映射到具有相同名称和目标命名空间的模式类型/元素的两组或更多组 java 类(在不同的包中),全部使用同一个类加载器。根据您用于 java 类到模式类型映射的方向,某些功能可能无法正常工作。这是因为即使 java 类的包名称不同,模式元数据(.xsb 文件)的模式位置是相同的,并且包含相应的实现 java 类,因此 JVM 将始终选择类路径上的第一个. 如果使用多个类加载器,则可以避免这种情况。