![](/img/trans.png)
[英]How to declare Maven/Java library, e.g. JFreeChart, as dependency?
[英]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 = A , artifactId = 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.