​maven​​是一个专门为​​java​​项目打造的项目管理和构建工具
  • 提供了一套标准的项目结构
  • 提供了一套标准的构建流程(编译,测试,打包,发布......)
  • 提供了一套依赖管理机制

​maven​​的项目结构

  1. 普通的java项目
    maven的简介_java
    pom.xmlmaven项目配置文件
    src/main/java:存放java源码
    src/main/resources:存放资源文件的目录
    src/test/java:存放测试源码的目录
    src/test/resources:存放测试资源的目录
    target:存放所有编译、打包生成的文件
修改默认配置

修改默认本地仓库

找到​​localRepository​​标签,复制该行,填写本地仓库路径,如图所示。

maven的简介_tomcat_02

修改默认远程仓库

在​​mirrors​​标签中添加阿里的​​maven​​仓库镜像



<!--阿里云公共仓库-->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>


 

pom.xml文件
  1. modelVersionmaven模板的版本,对于maven2maven3来说,它只是有4.0.0
  2. groupId:组织id,一般是公司域名的倒写。
  • 域名倒着写:​​com.baidu​
  • 域名倒着写+项目名:​​com.baidu.appolo​
  1. artifactId:项目名称,也可以是项目模块名称,对应groupId中的子项目。
  2. version:项目的版本号。如果项目还在开发中,是不稳定版本,通常在版本后带-SNAPSHOTversion使用三位数字标识,例如:1.0.0
    注意:groupId+artifactId+version称为坐标。唯一值,在互联网中唯一标识一个项目。

    1 <groupId>公司域名的倒写</groupId>2 <artifactId>自定义项目名称</artifactId> 3 <version>自定义版本号</version>
     
  3. packaging:打包后压缩文件的扩展名,默认是jar,web应用是war。
  4. 依赖

    1 <dependencies>2 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> 3 <dependency> 4 <groupId>mysql</groupId> 5 <artifactId>mysql-connector-java</artifactId> 6 <version>8.0.25</version> 7 </dependency> 8 </dependencies>
  5. properties:设置属性
  6. build:maven在进行项目的构建时,配置信息,例如指定编译java代码使用的jdk的版本
maven的生命周期maven常用命令
  1. mvn clean
  2. mvn compile
  3. mvn test-compile
  4. mvn test
  5. mvn package
  6. mvn install
  7. mvn deploy
在idea中配置maven

maven的简介_maven_03

maven的简介_maven_04

以上的操作是配置当前项目的maven,要想对新的项目也有效,就需要配置​​File​​中的​​Other Settings​​,如图所示。

maven的简介_mysql_05

创建maven项目

创建Java项目

maven的简介_tomcat_06

点击"Next"。

maven的简介_java_07

填写坐标,点击"Next"。

然后更改maven配置,使用自己安装的maven。

maven的简介_maven_08

最后点击"Finish"。

在创建好的maven项目中创建两个文件夹,有时候会自动创建,有时候不会自动创建,需要自己手动创建。在​​main​​目录下创建​​resources​​目录,并且右击resources目录,选择Mark Directory as中的Resources Root,如图1。在​​test​​目录下创建​​resources​​目录,并且右击resources目录,选择Mark Directory as中的Test Resources Root,如图2。

maven的简介_mysql_09

图1

maven的简介_mysql_10

图2

设置项目编译命令

maven的简介_tomcat_11

maven的简介_java_12

maven的简介_java_13

项目的打包

maven的简介_mysql_14

创建Web项目

  1. 选择maven模板maven-archetype-webapp
    maven的简介_maven_15
    其它的都选Next,最后选Finish即可。
    创建好Web项目后,修改一下pom.xml配置文件,把默认的jdk1.7改为1.8,把junit4.11改为junit4.12,将pluginManagement标签中删除。只保留如下图所示的内容。
    maven的简介_mysql_16
    plugins标签中写入如下内容

    1 <!-- jetty 插件 --> 2 <plugin> 3 <groupId>org.eclipse.jetty</groupId> 4 <artifactId>jetty-maven-plugin</artifactId> 5 <version>9.4.15.v20190215</version> 6 <configuration> 7 <httpConnector> 8 <port>9090</port> <!-- 这里指定 jetty 服务的端口号 --> 9 </httpConnector> 10 <webAppConfig> 11 <contextPath>/maven02</contextPath> <!-- 这里指定在浏览器访问时,当前Web应用的根路径 --> 12 </webAppConfig> 13 </configuration> 14 </plugin>
    plugins标签中再写入tomcat插件信息
  2. 1 <!-- Tomcat 插件 --> 2 <plugin> 3 <groupId>org.apache.tomcat.maven</groupId> 4 <artifactId>tomcat7-maven-plugin</artifactId> 5 <version>2.1</version> 6 <configuration> 7 <port>8081</port> <!--启动端口默认:8080 --> 8 <path>/test</path> <!--项目的站点名,即对外访问路径--> 9 <uriEncoding>UTF-8</uriEncoding> <!--字符集编码默认:ISO-8859-1 --> 10 <server>tomcat7</server> <!--服务器名称 --> 11 </configuration> 12 </plugin>
    先来配置maven启动jetty
  3. maven的简介_java项目_17​ 然后就可以点击右上角的运行按钮了,如图所示。
    maven的简介_java_18
    当你看到这些信息说明成功运行jetty服务器
    maven的简介_mysql_19
    指定端口的另一种方式是在命令中jetty:run -Djetty.http.port=9090
    maven的简介_java项目_20
    配置tomcat同理,如图所示。
    maven的简介_maven_21
maven环境下多模块项目的构建
  1. 创建父模块,什么也不用选,直接点击Next,然后填写GroupIdArtifactId,点击Next,最后点击Finish即可。
  1. 创建maven_dao模块
  1. 创建maven_service模块同上
  2. 创建maven_controller模块,只需要选择maven-archetype-webapp即可,其它操作同上。
    maven的简介_mysql_22
  1. 修改JDK版本
    单元测试版本
    删除pluginManagement标签