一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情。
今天说下日常工作最常使用的maven,平时我们都知道建pom,导依赖,但是可能都是直接上手,对一些概念还是比较陌生的,反正我是。。。
首先Maven是为Java项目打造的管理和构建工具,从一整套标准化的构建流程到它的依赖管理机制,对于项目结构,我们保持默认格调即可,这个没啥说的
我们主要说说pom.xml;其中,groupId好比Java的包名,通常是公司名称或机构的,artifactId为实际项目中的一个Maven模块, 推荐使用groupId作为artifactId的前缀,通常是项目名称,再加上version,一个Maven工程就是由groupId,artifactId和version作为唯一标识。我们在引用其他第三方库的时候,也是通过这3个变量确定。通过使用<dependency>Maven就会自动下载这个依赖包并把它放到classpath中;在这过程中Maven会先在本地仓库查询是否存在此构件,如果存在直接使用,不存在会去远程仓库查找,查询到会下载到本地仓库并使用如果查不到会爆红;
对于使用maven引入jar,如果jar中存在依赖另一个jar,现在只需要maven会自动将这些依赖也引入 ,而以前是手动的方式引入,对于引入进来的jar,我们通常会看到它里面的几个参数
**第一个compile,表示编译时需要用到该jar包(默认),大部分jar都是
第二个runtime,表示运行时需要用到该jar包。
第三个是test,测试类才需要。
第四个是provided,编译时需要用到,但运行时不需要,比如openfeign
这些是入门的一些参数配置,对于想查看maven结构的情况,我们可以通过maven helper插件来进行查看,安装我就不说了,安装完成后点击pom文件,我们可以看到
这样就算完成了,后面我们说说构建的一些问题
通常构建我们需要执行,mvn clean,清理文件
mvn compile,编译项目
mvn package,对项目进行打包,这样我们的target下面就会出现我们的项目包