Gradle替代mvn install

问题描述

| 我在mvn上有2个不同的项目。我正在尝试替换为Gradle。 项目1是SDK,项目2使用sdk(示例) 在进行Maven时,它会使用mvn install创建工件,从而将整个项目添加到本地存储库中。 我喜欢这样工作。我喜欢项目1 build.gradle需要将其发布为gradle本地存储库,然后示例项目需要使用它。 在maven中,我们进行mvn install,它将项目工件添加到.m2文件夹中,但是如何在gradle中进行操作,以便可以将项目工件添加到本地存储库中。 我有办法吗?     

解决方法

sdk/build.gradle
apply plugin: \"maven\"

group = \"foo\"
version = \"1.0\"
example/build.gradle
repositories {
    mavenLocal()
}

dependencies {
    compile \"foo:sdk:1.0\"
}
$sdk> gradle install

$example> gradle build
    ,您可能正在寻找:
gradle publishToMavenLocal
适用于:
apply plugin: \'maven-publish\'
请参阅:https://docs.gradle.org/current/userguide/publishing_maven.html     ,查看有关多项目构建的Gradle文档。 这是一个示例,带有一些额外的依赖关系。只需在根文件夹中调用
gradle install
,便会构建所有文件并将其放入本地存储库。 资料夹结构:
root
+--> build.gradle
+--> settings.gradle
+--> sdk
|    +--> build.gradle
+--> example
     +--> build.gradle
root / build.gradle:
allprojects {
  apply plugin: \'java\'
  apply plugin: \'maven\'

  group = \'myGroup\'
  version = \'0.1-SNAPSHOT\'
}
root / settings.gradle:
include \'sdk\'
include \'example\'
root / sdk / build.gradle:
dependencies {
  // just an example external dep.
  compile group:\'commons-lang\',name:\'commons-lang\',version:\'2.3\'
}
root / example / build.gradle:
dependencies {
  compile project(\':sdk\')
  compile group:\'log4j\',name:\'log4j\',version:\'1.2.16\'
}
    ,您需要将自己的库发布到本地存储库。您可以通过以下方式进行操作: 添加
maven-publish
插件:
plugins {
    // your other plugins come here...
    id \'maven-publish\'
}
将发布部分添加到您的构建文件中:
publishing {
    publications {
        myCoolLibrary(MavenPublication) {
            from components.java
        }
    }
}
运行
gradle build publishToMavenLocal
在文档中查找更多详细信息。