4

Java 4 に依存するサード パーティのライブラリに依存しているため、アップグレードされていない非常に古いアプリケーションを継承しました。

システムの重要な部分がサードパーティのライブラリに依存しているため、近い将来、このサードパーティのライブラリを取り除くことはありません。

アプリケーションの Java バージョンを最新の状態にしたいと考えており、依存する jar を独自の VM に移動してから、Java 6/7 VM と Java 4 VM の間で何らかの呼び出しを行うことを考えています。

最初に考えられるのは、RMI を使用することです。明らかな最初の質問は、異なる Java バージョンを使用する場合の VM 間の互換性です。サード パーティの lib はバイト ストリームを生成するため、返されるデータはシリアル化の影響を受けません。渡されたデータは、互換性が問題になる場合に渡すことができるものに操作できます。

これは正しい方法ですか?

より良い方法はありますか?

4

1 に答える 1

0
  1. フィリップがあなたのコメントで言ったように、あなたはラッパーをすることができます...あなたがあなたの古いライブラリでしなければならないいくつかの小さな調整だけがあります
  2. あなたはRMIを使うことができます...それは安全です!私はそれをテストしました、そしてそれは良いアプローチです...あなたは古い厄介なコードを変更する必要はありません
  3. Webサービスも使用できますが、私はRMIを好みます

小さなものを変更する必要があり、変更するには問題が多すぎる場合JVM(誰かがjdk[私に起こった]いくつかのライブラリを変更したため)、Java4に任せてください...:)

jdk 1.5私が抱えていた問題は、使用するライブラリが必要だったということでしたjdk 1.4が、私の解決策は、ライブラリを逆コンパイルjdk 1.5して、元に戻すことでしjdk 1.4た...古いjdkものに何かが変更されていたため...逆コンパイルされたコードで私が抱えていた問題は私は...について知っている非常に優れた逆コンパイラを見つけることができませんでした、castingそして私はいくつかのstackoverflowエラーがありました(しかしそれらは簡単に修正できます)

私の答えがあなたのお役に立てば幸いです

于 2013-03-03T21:21:55.083 に答える