2016-09-22 9 views
0

JARに依存するJavaライブラリを作成したいのですが、自分のライブラリに依存関係として提供されているのではなく、ライブラリ/ JARを使ってプロジェクトによってJARを読み込むようにします。そのライブラリを呼び出さずに別のライブラリに依存するJARをビルドできますか?

これを行う必要がある理由は、問題のJARがAndroid用のAdobe Analytics JARであることです。これらのJARは問題のプロジェクトに固有ですが、メソッド、パッケージ、およびクラスは常に各JARで同じ名前が付けられます。

C/C++の世界では、内部ビルド用に1つのヘッダと、ライブラリのユーザ用に1つのパブリックヘッダファイルを持つことができます。これはJavaで行うことができる方法はありますか?私は通常Gradleを使用しますが、他のツールを使用するソリューションは非常に歓迎します。

答えて

0

すべての依存関係を1つのjarファイルに含めることができ、そのjarファイルを第三者プロジェクトに含めることができます。

+0

同じ問題を他の回答のように。問題のJARを私のJARに含めないで、JARが間違っているかのようにする必要があります。プロジェクトに固有のこのJARの正しいバージョンを提供するには、ライブラリのユーザーが必要です。 – TTransmit

+0

あなたはそれを行うことができます。ターゲットJVMの唯一の要件は、実行時クラスパスにすべてdependenciedを含めることです。依存関係のスコープを '提供されている 'と定義すると、Mavenはそのようなことを行います。これにより、プロジェクトはコンパイルされますが、実行時に "提供される"依存関係はありません。あなたのビルドのためにMavenを使用する場合は、実行可能なopitonは、それのために行く。あなたが必要とする機能は、箱の中にあります – Antoniossss

0

使用Mavenは(すべてのクラスが一つの大きなJARに含まれます)すべての依存関係を持つJARを作成する - How can I create an executable JAR with dependencies using Maven?

+0

私はこれが私の質問に答えるとは思わない。問題のJARを私のJARに含めないで、JARが間違っているかのようにする必要があります。プロジェクトに固有のこのJARの正しいバージョンを提供するには、ライブラリのユーザーが必要です。 – TTransmit

+0

そして、あなたのアプリケーションクラスパスフォルダにJARをコピーし、それをスタートスクリプトに入れておくように伝えます - http://stackoverflow.com/questions/219585/setting-multiple-jars-in-java-classpath – JIV

関連する問題