2016-08-19 84 views
0

我正在將項目從Maven遷移到Gradle,一切似乎都進展順利。然而,我陷入了一種特殊的依賴。包括來自存儲庫依賴關係的備用jar

Maven中pom.xml的依賴被列入這樣:

<dependency> 
    <groupId>com.company</groupId> 
    <artifactId>models</artifactId> 
    <version>1.0.0</version> 
    <scope>system</scope> 
    <systemPath>${project.basedir}/src/main/libs/models-templates-1.0.0.jar</systemPath> 
</dependency> 

我一直在尋找到如何實現的gradle中這樣的事情,並沒有找到一個明確的答案。

我想我需要先下載整個目錄和提取的依賴,所以我開始尋找這種解決方案:How to add local .jar file dependency to build.gradle file?

然而,尋找到正在發生的事情有點多後,我發現,我居然需要聲明一個替代的jar名稱來下載。所以我仍然需要它查看正確的「模型」組名稱,但我需要下載「模型 - tempaltes」jar。

謝謝。

+0

[如何將本地.jar文件依賴項添加到build.gradle文件?](http://stackoverflow.com/questions/20700053/how-to-add-local-jar-file-dependency-to -build-gradle-file) –

+0

所以我從這個問題開始。我想我可能會走上正軌。不同之處在於我需要從項目依賴項中提取特定的jar,並在項目編譯之前將其包含在classpath中。 – Brodie

+0

我看了一下我的設置,以確保我無法解決您提到的問題提供的解決方案@MichaelEaster,我認爲它是不同的,如果不是,請隨時糾正我,我會關閉這個。我編輯了這個問題以更清楚地反映情況。 – Brodie

回答

1

我能找到解決方案。

的替代的pom.xml的模式:

<dependency> 
    <groupId>com.company</groupId> 
    <artifactId>models</artifactId> 
    <version>1.0.0</version> 
    <scope>system</scope> 
    <systemPath>${project.basedir}/src/main/libs/models-templates-1.0.0.jar</systemPath> 
</dependency> 

compile (group = 'com.company', name = 'models', version = '1.0.0') { 
    artifact { 
    name = 'models-data-template' 
    type = 'jar' 
    extension = 'jar' 
    } 
} 

需要注意的是這需要的類型和擴展屬性的工作,我嘗試瓦特/只替代名稱,並導致了一堆錯誤。

希望這可以幫助別人。