Gradle替代mvn安装

zour9fqk  于 2022-11-14  发布在  其他
关注(0)|答案(4)|浏览(155)

我有2个不同的项目建立在mvn上。我试图取代到Gradle。
项目1是SDK,项目2使用该SDK(示例)。
在maven的时候,它使用mvn安装创建工件,mvn安装将整个项目添加到本地存储库中。
我喜欢这样在Gradle中工作。我喜欢Project 1 build。Gradle需要将其发布为Gradle本地存储库,然后示例项目需要使用它。
在maven中,我们执行mvn安装,将项目工件添加到.m2文件夹中,但在gradle中如何操作,以便我可以将项目工件添加到本地资源库中。
有什么办法吗?

8xiog9wr

8xiog9wr1#

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
d4so4syb

d4so4syb2#

您可能正在寻找:

gradle publishToMavenLocal

构建.gradle

plugins {
    // other plugins
    id 'maven-publish'
}

publishing {
    publications {
        maven(MavenPublication) {
            from components.java
        }
    }
}

请参阅:Maven Publish Plugin

zxlwwiss

zxlwwiss3#

请查看Gradle's documentation on multi-project builds
这里有一个例子,有一些额外的依赖项。只要在根文件夹中调用gradle install,所有的内容都会被构建并放到本地存储库中。
文件夹结构:

root
+--> build.gradle
+--> settings.gradle
+--> sdk
|    +--> build.gradle
+--> example
     +--> build.gradle

根/内部版本.gradle:

allprojects {
  apply plugin: 'java'
  apply plugin: 'maven'

  group = 'myGroup'
  version = '0.1-SNAPSHOT'
}

根/设置。gradle:

include 'sdk'
include 'example'

根目录/sdk/构建版本.gradle:

dependencies {
  // just an example external dep.
  compile group:'commons-lang', name:'commons-lang', version:'2.3'
}

根目录/示例/构建版本.gradle:

dependencies {
  compile project(':sdk')
  compile group:'log4j', name:'log4j', version:'1.2.16'
}
nbysray5

nbysray54#

您需要将自己的库发布到本地存储库。可以通过以下方式执行此操作:
1.添加maven-publish插件:

plugins {
    // your other plugins come here...
    id 'maven-publish'
}

1.将发布部分添加到生成文件:

publishing {
    publications {
        myCoolLibrary(MavenPublication) {
            from components.java
        }
    }
}

1.运行gradle build publishToMavenLocal
有关详细信息,请参阅the documentation

相关问题