1、Maven安装
(1)去Maven官方下载合适的版本,在Download栏目下:
(2) 笔者选择的是压缩包版本,将其解压到一个非中文无空格的路径下:
(3)配置环境变量
a)直接新建环境变量:
变量名:M2_HOME
变量值:C:\Maven\apache-maven-3.8.6
b)在Path中添加环境变量:
变量值:%M2_HOME%\bin
确定后打开控制台,使用指令: mvn -v 查看Maven版本:
2、Maven仓库配置
(1)在Maven的安装目录下,创建一个repository,如如下图所示:
(2)在Maven的安装目录下打开conf目录,找到settings.xml配置文件打开并添加如下指令:
<localRepository>repository目录位置</localRepository>
3、Maven配置阿里源
可以省略这一步,因为即使不改成阿里源,Maven默认的中央库也可以下载开发需要的依赖,只是因为默认中央库在国外,所以加载某些依赖时会较慢而已;
同样是打开settings.xml配置文件,找到对应位置,用下列信息进行替换:
备注:阿里云公共仓库URL可能会变更,请自行查询验证是否是最新URL;
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
备注:注意如果直接复制粘贴上述代码可能会存在标签重复问题,请自行查验解决(笔者自己就碰到了);
4、Maven默认配置更改
(1)开发环境说明;
JDK:jdk-11.0.15;
SpringBoot:2.3.3
Maven:apache-maven-3.8.6;
IDE:idea 2022.1
(2)更改Maven默认的JDK版本
备注:不建议直接复制,不同开发环境下的xml文件格式并不一样,经供参考,需要自行调试;
<profile>
<id>jdk-11.0.15</id>
<activation>
<jdk>11.0.15</jdk>
</activation>
<repositories>
<repository>
<id>jdk11</id>
<name>Repository for JDK 11.0.15 builds</name>
<url>http://www.myhost.com/maven/jdk11</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
-->
5、Maven构建项目规范
Maven的项目必须按照如下的项目结构进行构建:
|-src
| |-main
| | |-java —— 存放项目的.java文件
| | |-resources —— 存放项目资源文件,如spring, hibernate配置文件
|-webapp —— webapp目录是web工程的主目录
|-WEB-INF
|-web.xml
| |-test
| |-java ——存放所有测试.java文件,如JUnit测试类
| |-resources —— 测试资源文件
|-target —— 目标文件输出位置例如.class、.jar、.war文件
|-pom.xml ——maven项目核心配置文件
一般不会手动去从零开始构建一个Maven项目,而是可以借助开发软件进行创建;
6、idea配置Maven
打开idea的设置界面,找到New Prejects Setup栏目下的Settings for New Projects
找到Build,Execution,Deployment栏目下Build Tools的Maven,进行如下操作:
a)将Maven home path 改为之前自行下载的Maven地址;
b)勾选正下方的两个Override;
c)将ettings.xml配置文件改为之前我们自行下载修改的;
d)将本地仓库位置改为之前我们自行创建的;
e)最后点击apply 和 ok;
7、使用idea实现一个基于springboot的简单交互功能
(1)在idea新建一个project,完善创建前的基本信息:
Name:自定义;
Location:项目的本地存储位置;
JDK:选择对应的版本号即可;
Catalog:建议选Internal;
Archetype:项目模板的意思,根据实际情况选用;
其他暂时不用管;
(2)发现依赖下载完成后的项目结构并不符合之前所描述的Maven构建项目规范,笔者这里采用手动补充的方式;
在main上右击New->Directory 新建java文件夹和resources文件夹;
在src目录上右击New->Directory 新建test文件夹;
在test目录上右击New->Directory 新建java和resources文件夹;
(3) 将新建文件夹进行关联
src/main/java 关联为 Sources Root :右击java->选择mark Dirctory as->选择Sources Root;
src/main/resources 关联为Resources Root:右击resources->选择mark Dirctory as->选择Resources Root;
src/test/java 关联为Test Sources Root:右击test文件夹下test->选择mark Dirctory as->选择Test Sources Root;
src/test/resources 关联为 Test Resources Root:右击test文件夹下resources->选择mark Dirctory as->选择Test Resources Root;
(4)导入SpringBoot相关的依赖
我的pom.xml全部内容如下,不建议直接复制,不同开发内容需要的依赖并不一样,经供参考,需要自行调试;
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.example</groupId>
<artifactId>helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>helloworld Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
(5)编写一个主程序
a)在java下创建一个包(名字自定义),在该包下创建一个java类(名字自定义):
java类的代码如下:
package helloworld.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
(6)直接运行,调试到不再报错后,打开浏览器,输入:localhost:8080/hello ,正确结果如下: