我有一个使用 mypackage.Foo 类的旧版 Java 应用程序。我希望该应用程序利用返回 Foo 实例的 Web 服务。为了连接到这个 Web 服务,我在 WSDL 上使用 wsimport 来生成工件,它给了我另一个 Foo.java 文件。理想情况下,我想告诉 wsimport 生成使用原始 Foo 的工件并且不生成任何额外的 Foo 文件,但我还没有找到这样做的方法。如何协调 Java 应用程序中的两个 Foo 文件?看来我的选择是:
1)将生成的Foo文件放在另一个包中。但是随后将 otherpackage.Foo 分配给 mypackage.Foo 变量失败
2)使用生成的Foo代替原来的Foo。在某些情况下,这似乎是最好的解决方案,但原始 Foo 具有生成的 Foo 中没有的功能。此外,在应用程序范围内进行更改是不可行的。
3)使用第一个选项,写一个方法,手动将otherpackage.Foo的字段复制到mypackage.Foo中。如果一切都失败了,这就是我要做的,但看起来非常不雅。
我确定我错过了一个简单的最佳实践。感谢任何见解!