私は多くのコーディングをしてからしばらくしています。パッケージの依存関係を管理する
私は別のサードパーティのプラットフォームと統合するAtlassian Confluence用のプラグインを作成しようとしています。このサードパーティのプラットフォームは、REST APIと共に使用するためのSDKライブラリを提供します。私は実際にコンセプトを素早くプロトタイプ化しようとしているので、使いやすいものです。私はJava 1.8、IntelliJ、Maven、Confluence 5.8を使用しています。
ここに私の最初の問題があります。私が依存関係として含めるサードパーティSDKライブラリは、それ自身の依存関係を持っています。とりわけ、これは一例です:
<!-- HTTP client: jersey-client -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey-version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>${jersey-version}</version>
</dependency>
<!-- JSON processing: jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson-version}</version>
</dependency>
あなたは考えがあります。私の最初の問題は、サードパーティのSDKライブラリが正常に追加されず、SDKの依存関係を自分のプロジェクトに追加せずにプロジェクトをコンパイルすることができなかったことです。 これは期待ですか?私の瓶の大きさはかなり膨らんでいます。
これは次の問題につながります。 Confluenceは既にJerseyライブラリ(1.8-atlassian-16)の旧バージョンとAtlassian-customizedバージョンを使用していますが、SDKライブラリで使用されている新しいJerseyライブラリ(1.19.1)と衝突していると思われます。私のプロジェクトでAtlassian Jerseyのバージョンを指定すると、コンパイルとインストールが実行されますが、失敗します。 SDKライブラリが使用するJerseyのバージョンを指定すると、コンパイルされますが正しくインストールされません。 私のプロジェクトでSDKライブラリを使用できるように、このJerseyライブラリのバージョンの違いについて何かできることはありますか?
リクエストがあればエラーの詳細を提供しますが、ジャージーバージョンのクラッシュについては、「NoSuchMethod」とJerseyクラスのクラスキャスト例外が両方ともエラーであると確信しています。