不同依赖管理器(例如 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 = A, artifactId = B, version = C 在 Maven 中,我必须像 'A:B:C' 在 Gradle 中那样表达它。
我注意到 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 存储库。
当我浏览 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, version = C 在 Maven 中,我必须像 'A:B:C' 在 Gradle 中那样表达它。 我注意到 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 存储库。