Apache HTTPClient 3を使用してHTTPリクエストを行うアプリケーションがいくつかあります。最近では、さまざまな理由でHTTPClient 4を使用するWebサービスクライアントの作成も開始されています。 Apacheのスタンスは、 "メジャーリリースは下位互換性がありません"です。バージョン4を使用するために私たちのプロジェクトをすべて更新したいのですが、それは単に実現できません。Javaでパッケージの複数のバージョンにアクセス
私の主な質問はかなり一般的ですが、私の特に質問はあります。 HTTPClientバージョン3と4を同じアプリケーションで使用するにはどうすればよいですか?私たちの場合、アプリケーションはWeb、デスクトップ、またはコマンドラインアプリになります。
私は半閉じているように見えるSO question for java-dynamically-load-multiple-versions-of-same-classを読んだことがありますが、動的部分についてはあまり気にしません。実際には私はJARがアプリケーションと共に出荷されることを望んでいます(例、WebアプリケーションのWEB-INF/lib)。OSGiはこれに似た質問で多くのことが言及されていますが、過度の、簡単な例がそうでないことが分かる)。最後に
私はチームに彼らがドロップすることができます瓶のセットを渡しできるようにしたいと、それだけでHTTPクライアント3.
これは、アーキテクチャガバナンスが良いアイデアでした。つまり、バージョン3に固執するか、すべてをバージョン4に移行するかを決めることです。パッチワークソリューションの実装コストを支払う必要があります。時間が経つと悪化する。 – Anon
@Anon:犯行はありませんが、状況を知らずに、私はそのような毛布の声明を出す助言をしません。私はそのようなコメントを避けるために "様々な理由で"言った。 –
OSGiは少なくとも機能しています(過度な使用かどうかを判断する必要があります)。ライブラリの各バージョンごとに1つずつ、2つのWebサーバーを持つ以外は、これを行う簡単な方法がわかりません。 –