4

我继承了一个尚未升级的非常旧的应用程序,因为它依赖于依赖于 Java 4 的第三方库。

摆脱这个第三方库不会在不久的将来发生,因为系统的关键部分依赖于它。

我想更新应用程序的 Java 版本,并且正在考虑将依赖的 jar 移动到它自己的 VM 中,然后在 Java 6/7 VM 和 Java 4 VM 之间进行某种调用。

首先的想法是使用 RMI。显而易见的第一个问题是使用不同 Java 版本时 VM 之间的兼容性。第三方库生成字节流,因此返回的数据不会受到序列化的影响。如果兼容性是一个问题,传入的数据可以被操纵成可以传递的东西。

这是正确的方法吗?

有没有更好的方法?

4

1 回答 1

0
  1. 你可以像菲利普在你的评论中所说的那样做一个包装器......你只需要在你的旧库中做一些小的调整
  2. 您可以使用 RMI ......它是安全的!我对其进行了测试,这是一个很好的方法……您不必更改旧的混乱代码
  3. 你也可以使用网络服务,但我更喜欢 RMI

如果您必须修改一些小东西并且您有太多问题需要更改JVM(因为有人修改了一些jdk库 [发生在我身上]),只需将其留给 java 4... :)

我遇到的问题是我需要一个库jdk 1.5来使用,jdk 1.4但我的解决方案是反编译该库jdk 1.5并将其编译回来jdk 1.4......因为旧的jdk在其中修改了一些东西......我在反编译代码上遇到的问题是我找不到一个非常好的反编译器知道casting......而且我有一些stackoverflow错误(但这些很容易修复)

希望我的回答对你有帮助

于 2013-03-03T21:21:55.083 回答