簡體   English   中英

不同的依賴管理者(例如Maven,Gradle)依賴語法之間的映射

[英]Mapping between different depencendy managers' (e.g. Maven, Gradle) dependency syntax

當我瀏覽MvnRepository時 ,我注意到了一個模式。 例如,如果我想使用Spring Framework:

使用Maven我需要添加:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.5.6.SEC03</version>
</dependency>

使用Gradle我需要添加:

'org.springframework:spring:2.5.6.SEC03'

所以我得出的結論是,如果groupId = AartifactId = B ,在Maven中版本= C ,我必須在Gradle中將其表達為'A:B:C' 我注意到Ivy,Grape,Buildr,SBT,Leiningen語法的類似模式。

它總是規則還是只有MvnRepository的東西? 例如,這里是可以在自定義存儲庫中找到的JLIBSVM ,並且在網頁上僅給出了如何將其與Maven一起使用。 它是否與所有其他依賴管理器兼容?

您還可以在Gradle中使用此語法:

dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}

還有其他類似的變化:

dependencies {
    compile (
        [group: 'foo', name: 'foo', version: '0.1'],
        [group: 'bar', name: 'bar', version: '0.1']
    )
}

此外,並非所有部分都是必需的。 例如,如果您的系統上的平面目錄中只有一個jar文件,則可以說:

runtime name: 'name'

請注意, jar前綴被省略。

Gradle和大多數其他依賴管理器支持聲明存在於Maven存儲庫中的依賴關系,因為Maven無處不在。 您提到的項目確實托管在Maven存儲庫中,而不是您可能習慣的Maven Central。 例如,在使用Gradle時,您必須在repositories部分中指明要使用的Maven存儲repositories

是的,盡管周圍還有一些修飾符

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM