2016-04-24 100 views
0

我有一個建立base.jar文件的等級項目。該項目依賴於Gradle文件中定義的第三方jar文件。引用Gradle中另一個jar文件夾庫中的jar沒有找到

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

當構建任務創建jar文件時,它將「something.jar」放在base.jar文件內的lib文件夾中。我認爲這對我來說沒問題。

現在我有另一個名爲「ABC」 gradle這個項目具有依賴於我就是這樣

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

創建底罐我會假設ABC項目將有機會獲得something.jar文件在base.jar的lib文件夾中。但由於某種原因,它沒有。當我嘗試訪問something.jar中的類時,我不斷收到無類def錯誤。我錯過了什麼嗎?

所有我想要做的是確保我有一個base.jar與所有常見的依賴關係jar可以被不同的其他服務使用只是通過設置依賴只base.jar而不是50其他罐子。

請讓我知道如何才能做到這一點。

回答

0

這取決於你如何解決對base.jar的依賴。你使用依賴編碼的方式會導致gradle試圖從你的倉庫中獲取基本jar - 也許是一個本地Maven repo(?),它可能不包含具有外部依賴項的base.jar版本。如果您有相同的工作區和父項目中底罐,你應該能夠取代

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

dependencies { 
    compile project(':base') 
} 

,並希望這將解決您的問題。

相關問題