2016-04-24 14 views
0

私はbase.jarファイルをビルドするグレードプロジェクトを持っています。このプロジェクトは、gradleファイルで定義されているサードパーティのjarファイルに依存しています。gradleクラスの別のjarのライブラリフォルダ内のjarを参照していません

dependencies { 
    compile('com.abc.something:something') 
} 

ビルドタスクは、それがbase.jarファイル内のlibフォルダ内の「something.jar」を置くjarファイルを作成します。これは私にとって大丈夫だと思います。

は今、私はABCプロジェクトがsomething.jarファイルへのアクセス権を持っていることを前提となり、私はちょうどこの

dependencies { 
    compile('com.myworld:base:1.0.0') 
} 

のように作成したベースジャーへの依存性を持つ「ABC」と呼ばれる別のGradleのプロジェクトを持っていますbase.jarのlibフォルダ内にあります。しかし何らかの理由でそれはしませんでした。私はsomething.jar内のクラスにアクセスしようとすると、No class defが見つかりませんでした。何か不足していますか?

私がしようとしているのは、base.jarがbase.jarのみに依存関係を設定するだけで、他のさまざまなサービスで使用できるすべての共通依存関係jarで構築されていることを確認することです瓶。

私はこれをどのように達成できるか教えてください。

答えて

0

これは、base.jarへの依存性をどのように解決するかによって異なります。依存関係をコード化していると、gradleはベースリポジトリからbase jarを取得しようとします。ローカルのMavenリポジトリ(?)は外部依存関係を持つbase.jarのバージョンを含んでいない可能性があります。あなたが同じワークスペースと親プロジェクト内のベースの瓶を持っている場合は、

dependencies { 
    compile project(':base') 
} 

dependencies { 
    compile('com.myworld:base:1.0.0') 
} 

置き換えることができるはずですし、うまくいけば、これはあなたの問題を解決します。