如何将Maven项目添加为Gradle依赖项?

Pro*_*tor 7 dependencies gradle maven

如何将Maven项目添加为Gradle依赖项?我有Gradle项目,我正在研究一些多模块Maven项目,我想将其作为代码依赖项导入到我的Gradle项目中.怎么做?

Duc*_*ppy 9

您无法直接将Maven多模块项目结构添加为依赖项.但是,您可以使用mvn install将项目jar安装到本地存储库来构建多模块项目.

然后,在您的build.gradle,您需要以下配置:

repositories {
  mavenLocal()
}
Run Code Online (Sandbox Code Playgroud)

这会将您的本地Maven存储库添加到Gradle将为您的工件查看的代码存储库列表中.然后,您可以声明Gradle项目所需模块的依赖关系.

dependencies {
    compile 'my-group:my-artifact:version',
            'my-group:my-other-artifact:version'
}
Run Code Online (Sandbox Code Playgroud)

当多模块项目更新到新版本时,请运行mvn install该版本并build.gradle根据需要进行更新.

除非您是这两个项目中唯一的开发人员,否则最好使用像NexusArtifactory这样的私有存储库来托管maven项目并配置Gradle以从中拉出依赖项.

参考文献:

Gradle中的Maven本地存储库:https://docs.gradle.org/2.4/userguide/dependency_management.html#sub:maven_local

Gradle中的Maven依赖项:https://docs.gradle.org/2.4/userguide/dependency_management.html#sub: module_dependencies


Mug*_*gen 7

该问题没有提及 Maven 存储库是本地的还是远程的。我将假设它是一个远程 Maven 存储库,并将据此回答问题,以便它对任何拥有在线存储库的人都有帮助。

例如,假设您要安装 Unirest ( https://github.com/Kong/unirest-java )


他们的 github 页面是这样说的:您可以使用 maven 命令安装存储库,但它不提供任何 jar 文件供您下载。

他们的 github 页面是这样说的:你可以使用 maven 命令安装存储库


您可能会遇到几个不提供任何 jar 文件的 github 存储库。相反,他们提供了一个 Maven 代码,如“mvm install unirest”。这对于初学者来说可能会非常困惑。


含义: 这本质上意味着特定的 unirest github 代码可在在线存储库(也称为“maven”)中找到,并且通常与 IDE 捆绑在一起的工具“maven”可用于从 github 安装此代码直接地。

所以我们正在看这个:

online project Unirest (maven repository which you want to import)
/workspace folder/project B (gradle) --> uses project A
Run Code Online (Sandbox Code Playgroud)

因此,您在 Intellij(或您的 IDE)中打开项目 B。打开 build.gradle 并设置以下设置:

repositories {
    mavenCentral()
}

dependencies {
    compileOnly group: 'com.konghq', name: 'unirest-java', version: '3.11.11'
}
Run Code Online (Sandbox Code Playgroud)

你如何获得这些值?组/名称/版本?您可以从 Maven 的安装说明中获取它。来自github代码中给出的maven xml。