那maven是不是在开发环境中是不是没有什么作用?以及它管理的依赖包应该是放到本地Maven中的,点击绿色运行按钮(Run main)的时候,如何找到这些包的?以及在idea中左侧Externa Li

✅ 1. Maven 在开发环境中有没有用?

✅ 结论:非常有用!不仅仅是打包用的

即使在开发环境中,Maven 也承担了以下关键职责:

功能用处
📦 依赖管理自动下载 jar 包,不用手动加 classpath
🧱 项目构建结构统一的标准目录结构,方便协作(如 src/main/java
🛠 插件系统Lombok、代码生成器、资源处理等都通过插件运行
🧪 测试和覆盖率集成使用 Surefire / Jacoco 插件
☁️ 项目发布一键打包上传(Nexus、Aliyun 等)

✅ 换句话说:你即使不打包,它也管理着你开发中 80% 的环境基础


✅ 2. 点击绿色 Run 按钮(Run main),Maven 的依赖是怎么找到的?

👉 IDEA 实际是“利用 Maven 下载的依赖包”,然后自己调用 JVM 来运行代码。

运行流程如下:

  1. 你点击绿色 Run 按钮
  2. IDEA 编译代码,检查你模块依赖了哪些 jar 包
  3. 这些依赖来自:Maven 已下载的 jar 包(本地仓库)
  4. IDEA 把这些 .jar 都加入到运行的 classpath 中
  5. 启动 JVM,运行 main() 方法

🔍 所以:

💡 点击 Run 并不走 Maven,但它“复用了 Maven 下载的依赖”


✅ 3. 这些依赖包放在哪里?Run 时去哪找?

放在本地 Maven 仓库目录:

一般是这个路径(你可以在 mvn -v 看到):

Windows: C:\Users\你的用户名\.m2\repository
Linux/macOS: ~/.m2/repository

IDEA 会自动根据 pom.xml 把依赖包下载到 .m2 里,并加入到运行时路径(classpath)中。


✅ 4. IDEA 左侧 External Libraries 中显示的依赖包和 Maven 中 Dependencies 是同一个吗?

是的!✅ 完全是同一个。

左侧 External Libraries等价于 pom.xml 中 <dependencies>
显示的是 .m2 目录下的依赖包路径Maven 依赖管理结果
被 IDEA 加入 classpath和 Maven 构建时一致

🔍 IDEA 是根据 pom.xml 中的 <dependencies> 解析依赖图,自动帮你列出所有直接和间接依赖的 jar 包。


✅ 可视化说明一下:

你写了这个:

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.30</version>
</dependency>

👉 Maven 会:

  • 下载 lombok-1.18.30.jar.m2/repository/org/projectlombok/

  • IDEA 会把这个依赖加入到:

    • External Libraries 中展示
    • Run 和 Build 的 classpath 中使用

✅ 总结一张表给你:

操作Maven 有参与吗?依赖来源是否用了 Maven 本地库
Build → Build ProjectIDEA 内部编译器✅ 是(用了 Maven 下载的 jar)
Run main()IDEA 组装 classpath✅ 是(用了 Maven 下载的 jar)
Maven compileMaven 编译器✅ 是(Maven 本地仓库)
mvn clean packageMaven 编译器 + 插件✅ 是(严格使用 Maven)

✅ 最佳实践建议:

  1. 🧩 开发阶段 90% 情况都可以只依赖 Maven 管理依赖 + IDEA 运行
  2. 🛠 如果你要用插件、打包、测试覆盖率,一定要用 Maven 面板 来跑
  3. ☁️ 项目最终交付/部署前,一定走 mvn clean packageinstall 流程测试完整性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值