Maven 梯度局部依赖性测试

Maven 梯度局部依赖性测试,maven,intellij-idea,gradle,dependencies,dependency-management,Maven,Intellij Idea,Gradle,Dependencies,Dependency Management,我有3个梯度项目,项目A,项目B,项目C。所有这些都构建了一个名为projectX-0.0.0.jar的jar文件。在我的jenkins服务器上,所有这些项目都将这些JAR部署到我公司的artifactory 在projectA中,我在整个项目中使用了多个编译依赖项。然后在项目B中,我通过声明来包括项目A:编译组:'com.company.projectName',名称:'projectA,版本'0.0.0',这样我就可以使用这些依赖项(即slf4j),我对projectC也这样做,以包括pro

我有3个梯度项目,项目A,项目B,项目C。所有这些都构建了一个名为projectX-0.0.0.jar的jar文件。在我的jenkins服务器上,所有这些项目都将这些JAR部署到我公司的artifactory

在projectA中,我在整个项目中使用了多个编译依赖项。然后在项目B中,我通过声明来包括项目A:
编译组:'com.company.projectName',名称:'projectA,版本'0.0.0'
,这样我就可以使用这些依赖项(即slf4j),我对projectC也这样做,以包括projectB依赖项,结果包括projectA的依赖项

在我将代码推送到服务器之后,这对部署中的jenkins服务器非常有用,但是当尝试在本地测试时,我无法更新依赖项以测试代码

我试过:

  • 使用本地构建的项目A jar更新从artifactory下载项目A的gradle缓存。位于
    C:/users/username/.gradle/caches/path to jar

  • 删除
    编译组:“com.company.projectName”,名称:“projectA,版本“0.0.0”
    ,并将其替换为
    编译文件(“libs/projectA-0.0.0.jar”)
    ,将projectA的jar放在projectB的lib文件夹中

  • 在IntelliJ中使用gradle脱机模式并重复#1

  • 在我的电脑上完全离线并重复#1

  • 通过以上4次尝试,我仍然无法解决项目A中为项目B声明的依赖项


    我的目标是能够更新projectA.gradle文件中的compile、testCompile、runtime等依赖项,然后在我的管道中运行我的项目,以确保此更新按照我的预期影响项目中的依赖项。

    您需要更新gradle缓存中的.jar和.pom文件。.jar文件包含源代码,而pom包含您在上一个项目中引入的依赖项。使用
    gradlew clean build安装
    可以创建jar和pom


    因此,要解决您的问题,请在project-a上执行
    gradle build clean install
    。从生成的构建文件中获取jar和pom,并在缓存中替换project-a.jar和project-a.pom。然后对project-b执行同样的操作,您将在gradle刷新后看到project-c中的更改。

    您需要更新gradle缓存中的.jar和.pom文件。.jar文件包含源代码,而pom包含您在上一个项目中引入的依赖项。使用
    gradlew clean build安装
    可以创建jar和pom


    因此,要解决您的问题,请在project-a上执行
    gradle build clean install
    。从生成的构建文件中获取jar和pom,并在缓存中替换project-a.jar和project-a.pom。然后对project-b执行同样的操作,您将在渐变刷新后看到project-c中的更改。

    听起来您正在描述的是的用例。我已经有一个使用此设置的工作项目。我的描述是询问如何在本地进行测试。看,听起来您正在描述的是的用例。我已经有一个使用此设置的工作项目。我的描述是询问如何在本地进行测试。参见,