代码之家  ›  专栏  ›  技术社区  ›  San Jaisy

Gradle将在Micronaut项目中添加模块依赖项

  •  0
  • San Jaisy  · 技术社区  · 5 年前

    enter image description here

    这个 fete-bird-apigateway 依靠共同和 fete-bird-product 飞鸟节 common

    在fete bird product settings.gradle中,我包含了以下代码

        rootProject.name = "fete-bird-product"
    include 'fete-bird-apigateway' , 'common'
    

    在项目的构建过程中

    dependencies {
        implementation project(':common')
    }
    

    错误

    我不想在这里创建一个多模块构建项目 https://docs.gradle.org/current/userguide/multi_project_builds.html . 每个项目应单独构建,并且应在构建时加载相关模块。

    0 回复  |  直到 5 年前
        1
  •  0
  •   San Jaisy    5 年前

    我发现我对不同的模块项目有错误的概念。

    plugins {
        id 'java'
        id 'maven-publish'
    }
    
    dependencies {
      implementation project(':common')
    }
    

    但是,如果通用,fete-bird-apigateway和service是独立的项目,并且不共享同一个根版本。gradle您必须将通用模块发布到共享存储库中,并像任何常规依赖项一样使用它。最容易使用Maven本地存储库。

    发布到本地maven

    fete-bird-apigateway.gradle

    publishing {
        publications {
            maven(MavenPublication) {
                groupId = 'org.gradle.sample'
                artifactId = 'library'
                version = '1.1'
    
                from components.java
            }
        }
    }
    

    参考- https://docs.gradle.org/current/userguide/declaring_repositories.html https://docs.gradle.org/current/userguide/publishing_maven.html#gsc.tab=0

    repositories {
        mavenLocal()
    }
    
    implementation("fete.bird:fete-bird-apigateway:0.1")
    

    我们需要为publish运行task或gradle命令。我在使用Intellj,所以我做了下面的任务

    enter image description here

    我们可以运行gradle命令 gradle publishToMavenLocal

    推荐文章