上图为常见的台式机,程序员,你看了有啥启发?台式机生产线我的maven代码工程 xxx显示器xxx-web主机xxx-app键盘xxx-domian鼠标xxx-infrastration台式机xxx-all.
即便是所要依赖的工程依赖了其它工程,我们也只需引入项目所直接的依赖的工程。如下图示例中 Dependency-A 引用了 Dependency-B ,而 Dependency-B 又依赖于 Dependency-C ,在传统项目中若在 Dependency-A 中引用 Dependency-B 则需要同时手动添加 Dependency-B 与 Dependency-C 所对应的 JAR 包,但在 Maven 中我们只需要引入 Dependency-B 即可, Mavne 会自动将子模块所依赖的包导入。
很多同学在使用maven给SpringBoot项目打包时,通常将Spring Boot项目打包成一个可执行的JAR文件,这种JAR被称为"fat JAR"或"uber JAR",它包含了项目中的所有依赖和资源文件。
Manifest.MF 文件中定义 Main-Class 设置为org. springframework.boot.loader.JarLauncher, 也 就 是 说 , jar 包 程 序 启 动 入 口 为JarL .auncher 类的 main 方法。
Maven的作用在开发过程中需要用到各种各样的jar包,查找和下载这些jar包是件费时费力的事,特别是英文官方网站,可以将Maven看成一个整合了所有开源jar包的合集,我们需要jar包只需要从Maven里面下载就可以了,使用主流的IDE开发项目主要用Maven的pom.
经常遇到 Maven 相关的问题,这是之前的文章:这个 Maven 依赖的问题,你敢说你没遇到过:https://mp.weixin.qq.com/s/SzBbDtyRUrk_7LH8SUbGXQMaven 快照版本要这样用才真的香!:https://mp.weixin.qq.
一、什么是Maven?Apache Maven是一个软件项目管理的综合工具。基于项目对象模型(POM)的概念,提供了帮助管理构建、文档、报告、依赖、发布等方法,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。
在Maven中,每个项目都相当于是一个对象,对象和对象之间是有关系的,关系包含了:依赖、继承、聚合,实现Maven项目可以更加方便的实现导jar包、拆分项目等效果,因此,大部分公司项目都采用 Maven 管理。