你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

intellij idea gradle 探究Gradle使用Maven本地仓库,老版本能用jar包吗?

发布时间:2025-08-07

浏览次数:0

本文将深入探讨,在使用过程中,通常都会设置maven的本地仓库。那么,我们能否直接利用maven本地仓库中的jar包呢?接下来,我们将对此进行一番探究。

思考

使用过程中,若配置了一个括号符号,则表示将调用maven的本地仓库;那么,此时我们是否直接使用了maven本地仓库中的jar包呢?新版本似乎能够直接利用maven仓库中的jar包,而老版本似乎则无法做到这一点。

验证方式

: 7.1

我将maven的仓库与其它仓库合并至同一目录之下,以观察此举将带来何种影响;若依赖的jar文件仅存在一个版本,则表明它们已被共享使用。

准备环境配置maven 的

为了进行测试,我先将maven配置文件中的指定路径更改为一个空白的文件夹。

禁止对Johnny用户目录下的Maven仓库测试目录进行修改。

配置 的默认本地仓库

默认仓库位置为

~/.//-2/files-2.1/....

那么,我们该如何调整这个位置呢?这需要我们进行环境变量的设置,并明确指出新的目录路径。

这里把 的本地仓库配置到如下的目录 和 maven 一致

设置GRADLE_USER_HOME环境变量为路径:/Users/johnny/.m2/repository_maven_gradle_test,以此指定Gradle的本地仓库位置。

创建maven 项目

#随便找个目录执行 ,我这里就在 ~/.m2/下执行的
mkdir maven_project_demo
进入maven_project_demo目录下的pom.xml文件进行操作。

在pom.xml文件中添加相应内容intellij idea gradle,随意引入一个jar包,本次选取了一个作为示例。



    4.0.0
    com.johnny
    mavenprojectdemo
    0.0.1-SNAPSHOT
    mavenprojectdemo
    mavenprojectdemo
  
    
        
        
            org.projectlombok
            lombok
            1.18.24
        
    
  

创建 项目

通过 提供的init方式直接初始化

gradle init
请选择项目类型以进行生成。
  1: basic
  2: application
  3: library
  4: Gradle plugin
请输入选项(默认为基本选项)[1至4],键入数字2。
请选择实施所用的编程语言:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Scala
  6: Swift

intellij idea gradle_Gradle Maven 共享本地仓库 _ Gradle 7.1 使用 Maven 仓库

请输入选择(默认为Java)[1至6],键入数字3。 是否将功能分配至多个子项目中? 仅有一个申请项目获准。 同意——应用和库项目 请输入选择(默认为无 - 仅一个应用项目)[1至2],选项1。 Select build script DSL: 1: Groovy 2: Kotlin 请输入选择(默认为Groovy)[1至2],输入1。 Select test framework: 1: JUnit 4 2: TestNG 3: Spock 4: JUnit Jupiter 请输入选择(默认为JUnit Jupiter)【1至4】,默认选项为1。 项目名称(默认为gradle_project_demo):gradle_project_demo项目 源代码包(默认为 gradle_project_demo):johnny的gradle项目示例

build.添加

实施团队:org.projectlombok,项目名称:lombok,版本号:1.18.24,

验证maven项目执行下载依赖

cd maven_project_demo
使用mvn命令进行clean操作,随后执行compile命令。

此时查看

仓库目录 已经有了依赖

项目执行下载依赖

cd gradle_project_demo
gradle classes # gradle 编译命令

再次查看 仓库发现多了一个

cd 到 caches/modules-2/files-2.1 目录,这是gradle默认的jar文件存放位置。

可以发现 并没有 org.

通过使用idea打开的jar文件,我们查看了其依赖项的存放位置,结果证实它确实直接引用了maven中的jar包。这种现象或许可以归因于新版本的一项优化措施?

反过来 执行

创建名为repository_maven_gradle_test的代码仓库。
rm -rf * #先清空仓库
cd gradle_project_demo

总结

鉴于对思考与Maven本地仓库设置相仿的考量,经过对Jar文件是否可共享的深入研究intellij idea gradle,我们得出以下结论:

本地仓库位于 ~/.//-2/files-2.1/...,只需配置环境变量使其指向相应目录,仓库即自动设定为该路径。若将配置设定为maven本地仓库,新版本的jar包确实可直接在maven中使用。然而,不建议将此仓库配置与Maven仓库相同,最好分设或直接采用默认设置,因为两者的jar包管理方式存在差异。部分网络文章提到只需将maven仓库中的jar复制到该处,但这可能是针对旧版本的做法。我进行的7.1版本实验中,并未发现复制现象。

多思考! 多实践!

如有侵权请联系删除!

13262879759

微信二维码