1

我是这方面的新手,但我正在尝试将 Windows 应用程序移植到 Linux 并遇到 xmlbeans 的问题。我们有一些生成类文件的 xsd 文件。在 Windows 上,我会得到Driver.class(2k)and Driver2.class(10k)。在 Linux 上,通过 Maven 构建相同的版本,我将获得Driver.class(10k)Driver2.class(2k). 因此,似乎存在一个排序问题,导致使用这些类的 Linux 构建应用程序无法编译。使用 Driver/Driver 的 java 代码因类型不兼容而出错:

找到:xx.xmlbinding.Driver2 需要:xx.xmlbinding.Driver

不同的xsd文件在文件中具有相同的complexType:

<xsd:complexType name="Driver">

关于如何解决这个问题的任何见解?谢谢!

4

1 回答 1

1

为什么你有两个具有相同命名空间和名称的驱动程序类型?

如果 'Driver' 类型是相同类型并且在两个架构中重复,请将 Driver 移动到单独的架构并使用<import>. 如果这两种模式和驱动程序类型确实不同,请将其移动到不同的命名空间或给它一个不同的名称。如果这不可能在单独的步骤中编译这两个模式 - 然后您需要将它们加载到单独的类加载器中以避免在运行时发生冲突。

于 2012-06-06T21:20:51.283 回答