在利用maven搭建Spring MVC项目之前,需要在本机上安装配置好Maven。
本机配置Maven
首先去Apache官网下载所需要的maven,注意需要下载 bin.tar.gz 格式,不要下成bin.zip或者src.tar.zip。
解压在自己的文件夹,我放在了 Users/Yourname/Applications/maven/apache-maven-3.6.1 下面
配置环境变量
1 source ~/.bash_profile
在里面添加
1 export M2_HOME=/Users/lzz/Applications/maven/apache-maven-3.6.1
2 export M2=$M2_HOME/bin
3 export PATH=$M2:$PATH
把路径改为maven所在的目录即可
然后生产命令
1 source ~/.bash_profile
更改Maven默认仓库
如果不更改位置仓库,系统会自动生成一个.m2文件夹用以存放本地仓库,我们更改了默认仓库位置可以更方便管理
在maven下面创建仓库文件夹
Users/Yourname/Applications/maven/repository
创建setting.xml:Users/Yourname/Applications/maven/setting.xml。在 apache-maven-3.6.1/bin 下面就有一个setting.xml,我们自己配的setting.xml就是用来替代它的。
配置setting.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 5 6 <pluginGroups /> 7 <proxies /> 8 <servers /> 9 10 <localRepository>/User/lzz/Application/maven/repository</localRepository> 11 12 <mirrors> 13 <mirror> 14 <id>alimaven</id> 15 <mirrorOf>central</mirrorOf> 16 <name>aliyun maven</name> 17 <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> 18 </mirror> 19 <mirror> 20 <id>alimaven</id> 21 <name>aliyun maven</name> 22 <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 23 <mirrorOf>central</mirrorOf> 24 </mirror> 25 <mirror> 26 <id>central</id> 27 <name>Maven Repository Switchboard</name> 28 <url>http://repo1.maven.org/maven2/</url> 29 <mirrorOf>central</mirrorOf> 30 </mirror> 31 <mirror> 32 <id>repo2</id> 33 <mirrorOf>central</mirrorOf> 34 <name>Human Readable Name for this Mirror.</name> 35 <url>http://repo2.maven.org/maven2/</url> 36 </mirror> 37 <mirror> 38 <id>ibiblio</id> 39 <mirrorOf>central</mirrorOf> 40 <name>Human Readable Name for this Mirror.</name> 41 <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url> 42 </mirror> 43 <mirror> 44 <id>jboss-public-repository-group</id> 45 <mirrorOf>central</mirrorOf> 46 <name>JBoss Public Repository Group</name> 47 <url>http://repository.jboss.org/nexus/content/groups/public</url> 48 </mirror> 49 <mirror> 50 <id>google-maven-central</id> 51 <name>Google Maven Central</name> 52 <url>https://maven-central.storage.googleapis.com 53 </url> 54 <mirrorOf>central</mirrorOf> 55 </mirror> 56 <!-- 中央仓库在中国的镜像 --> 57 <mirror> 58 <id>maven.net.cn</id> 59 <name>oneof the central mirrors in china</name> 60 <url>http://maven.net.cn/content/groups/public/</url> 61 <mirrorOf>central</mirrorOf> 62 </mirror> 63 </mirrors> 64 </settings>
配置好Maven后,查看所配置的 maven 是否和本机使用的JDK版本一致:mvn -v
1 ➜ ~ mvn -v
2 Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
3 Maven home: /Users/lzz/Applications/maven/apache-maven-3.6.1
4 Java version: 11.0.2, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
5 Default locale: zh_CN_#Hans, platform encoding: UTF-8
6 OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
我用的 JDK 版本是11.0.2。和 maven 匹配,说明已经配置好Maven了
在IDEA中选择配置好的Mave
在设置中选择 Build tools-> Maven。选择好我们之前配置好的Maven目录,仓库和 setting.xml。
在Build tools->Maven->Runner中,JRE环境选择与 Maven 匹配的版本,我这里是 11.0.2。
创建 Maven 项目
点击next,GroupId值公司名,ArtifactId是项目名。
继续点击next,在这里选择好Maven的家目录,setting file 和 仓库位置选择我们自己定义的位置。要先勾选覆盖按钮。
点击next,填写项目名
继续点击 next,创建完成后,IDEA会帮我们拉取所需的jar包,所以创建过程中需要保持网络畅通,如果我们在之前设置过 jar 拉取的源,比如使用阿里的源,这个过程很快就可以完成。
等IDEA帮我们拉去完jar包后,看看创建出来的初始项目结构
webapp文件夹下放一些页面,以及项目的启动配置,WEB-INF,其下面的web.xml会对项目的整体进行配置,后面会进行单独对他配置。
我拉取出来的项目 main下面没有 resource 文件夹,这个文件夹我们需要自己创建,并且右键选择将其设置为 resource root。
配置环境
首先我们在 pom.xml 来配置项目依赖。
在 Maven 仓库 中搜索想要使用的 jar 包依赖。将其依赖放在 pom.xml 中。
1 <dependencies> 2 <dependency> 3 <groupId>junit</groupId> 4 <artifactId>junit</artifactId> 5 <version>4.11</version> 6 <scope>test</scope> 7 </dependency> 8 <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --> 9 <dependency> 10 <groupId>org.springframework</groupId> 11 <artifactId>spring-beans</artifactId> 12 <version>${springframework.version}</version> 13 </dependency> 14 <!-- spring-context --> 15 <dependency> 16 <groupId>org.springframework</groupId> 17 <artifactId>spring-context</artifactId> 18 <version>${springframework.version}</version> 19 </dependency> 20 21 <!-- Spring MVC + Spring web --> 22 <dependency> 23 <groupId>org.springframework</groupId> 24 <artifactId>spring-web</artifactId> 25 <version>${springframework.version}</version> 26 </dependency> 27 28 <dependency> 29 <groupId>org.springframework</groupId> 30 <artifactId>spring-webmvc</artifactId> 31 <version>${springframework.version}</version> 32 </dependency> 33 34 <!--jdbc --> 35 <dependency> 36 <groupId>org.springframework</groupId> 37 <artifactId>spring-jdbc</artifactId> 38 <version>${springframework.version}</version> 39 </dependency> 40 41 <!-- mybatis --> 42 <dependency> 43 <groupId>org.mybatis</groupId> 44 <artifactId>mybatis</artifactId> 45 <version>3.4.0</version> 46 </dependency> 47 <dependency> 48 <groupId>org.mybatis</groupId> 49 <artifactId>mybatis-spring</artifactId> 50 <version>1.3.0</version> 51 </dependency> 52 53 <!-- druid 数据源的管理 --> 54 <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> 55 <dependency> 56 <groupId>com.alibaba</groupId> 57 <artifactId>druid</artifactId> 58 <version>1.1.12</version> 59 </dependency> 60 61 <!-- mysql --> 62 <dependency> 63 <groupId>mysql</groupId> 64 <artifactId>mysql-connector-java</artifactId> 65 <version>5.1.30</version> 66 </dependency> 67 68 <!-- lombok,可以得到一堆注解,get、set、toString就可以省略这些方法了 --> 69 <dependency> 70 <groupId>org.projectlombok</groupId> 71 <artifactId>lombok</artifactId> 72 <optional>true</optional> 73 <version>1.18.8</version> 74 </dependency> 75 76 <!-- Jackson 处理json数据 --> 77 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310 --> 78 <dependency> 79 <groupId>com.fasterxml.jackson.datatype</groupId> 80 <artifactId>jackson-datatype-jsr310</artifactId> 81 <!--jackson-datatype-guava ???? --> 82 <version>2.9.8</version> 83 </dependency> 84 85 </dependencies>