spark と hadoop-aws の両方を使用するプロジェクトがあります (hadoop 2.6 で s3a を解決するために、多くのプロジェクトがこの構成を使用していると思います)。しかし、それらは推移的な依存関係に深刻な矛盾を抱えています。つまり、spark 1.3.1 は jackson-databind 2.4.4 を使用し、hadoop 2.6 の hadoop-aws は jackson-databind 2.2.3 を使用します。最悪の事態は、両方が互いのバージョンでの実行を拒否し、jackson の API が変更されたことです。 2 つの主要なアップグレード内で多く。
Hadoop-aws jar を展開フェーズでのみ手動で追加し、コンパイル/テスト/パッケージングでの使用を避けることができることを知っています。しかし、これは「洗練されていない」ソリューションのようです。ソフトウェア エンジニアリングのベスト プラクティスは、maven にすべてを処理させ、出荷前にすべての機能をテストすることです。これを可能にするmaven構成はありますか?