Maven
- 1. Maven简介
- 2. Maven安装搭建(windows)
- 2.1 下载maven
- 2.2 安装配置maven
- 2.3 配置maven本地仓库
- 3. Maven安装搭建(linux)
- 3.1 下载maven
- 3.2 安装配置maven
- 3.3 编辑 settings.xml 文件
- 3.4 添加 maven 环境变量内容
- 4. IntelliJ IDEA创建web项目
- 4.1 创建项目
- 4.2 创建源码目录
- 4.3 在java目录中添加MyServlet.java代码
- 4.4 在pom.xml文件添加必要的dependency依赖
- 4.5 修改web.xml文件
- 4.6 在main/webapp下修改index.jsp,没有则新建
- 4.7 开始tomcat配置
- 4.8 启动调试tomcat
1. Maven简介
Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。
相信读到这篇文章的许多人有过或多或少的项目经历,说到项目,在纯是原生态代码无框架的时候,我们最痛苦的一件事就是导入各种各样的jar包,jar包太多以至于我们很难管理,项目功能稍多,就会出现好多好多的包,你要考虑在哪找这个包,还有它的包的依赖,让人很痛苦!这个时候,我们的救世主maven出现,轻松帮你解决这些问题。
Maven优点
1、原来的项目中需要的jar包必须手动“复制”、”粘贴” 到WEB-INF/lib 项目下,而借Maven,可以将jar包仅仅保存在“仓库”中,有需要使用的工程只需要“引用”这个文件,并不需要重复复制到工程中。
2、原来的项目中所需要的jar包都是提前下载好的,而Maven在联网状态下会自动下载所需要的jar包。首先在本地仓库中找,找不到就在网上进行下载。
3、原来的项目中一个jar包所依赖的其他jar包必须手动导进来,而Maven会自动将被依赖的jar包导进来。
4、原来的项目一个项目就是一个工程,而借助Maven可以将一个项目拆分成多个工程。
项目构建过程:
- 1.项目清理:清理之前编译的代码。
- 2.编译:将程序源代码编译为虚拟机可执行的代码,也就是 class 文件。maven 可以帮我们批量编译一堆代码。
- 3.测试:maven 可以执行测试程序代码,验证你的功能是否正确。
- 4.打包:将所有的 class 文件、配置文件等资源放到一个压缩文件中。 对于 java 程序,压缩文件是 xx.jar,对于 web 应用,压缩文件扩展名是 xx.war。
- 5.安装:将 jar 文件或者 war 文件安装到本机仓库中。
- 6.部署:将程序部署到服务器上,我们可以通过网址进行访问。
Maven可以帮我们做什么?
- 1.自动下载需要的 jar 包,管理 jar 包的版本以及它们之间的依赖关系。
- 2.帮你编译程序
- 3.帮你打包程序
- 4.帮你部署程序
- 5.帮你管理项目中各个模块的关系
2. Maven安装搭建(windows)
前提是安装jdk(Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅)
2.1 下载maven
maven官网 http://maven.apache.org
2.2 安装配置maven
点击下载二进制的 apache-maven-3.9.2-bin.zip 进行解压,然后在系统环境中配置环境变量,在path中配置到bin目录
- 配置环境变量
- 1.新增变量
变量名:MAVEN_HOME
变量值:maven 的安装路径 - 2.修改 path
增加变量值:%MAVEN_HOME%\bin
- 1.新增变量
配置成功后输入命令mvn -version
D:\>mvn -version
Apache Maven 3.9.2 (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c)
Maven home: D:\Resouce\tools\apache-maven-3.9.2
Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_221\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
2.3 配置maven本地仓库
为什么要修改本地仓库?
Maven 默认的本地仓库在C/用户/.m2 文件夹里,随着下载的 jar 包越来越多,系统盘会越来越满,电脑会越来越卡,所以建议在 C 盘之外建一个本地仓库
如何将下载的 jar 文件存储到我们指定的仓库中呢?
需要在 maven 的服务器解压的文件中找到 conf 文件夹下的 settings.xml文件进行修
- 添加本地仓库标签:
<localRepository>你的repository目录</localRepository>
例如:
<localRepository>D:\mavenRepository</localRepository>
- 配置阿里云镜像下载地址
因为国外远程仓库下载 jar 包速度慢,国内阿里云下载速度快。
在 setting.xml 文件里面添加:<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url>; <mirrorOf>central</mirrorOf> </mirror>
- 完整的 setting.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><localRepository>D:\mavenRepository</localRepository><mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>
</mirrors>
</settings>
3. Maven安装搭建(linux)
3.1 下载maven
- 在官网下载安装包,本次选择.tar.gz
- 上传安装包到服务器
3.2 安装配置maven
- 创建maven目录
- 解压安装包至maven目录
- 创建maven仓库目录
mkdir -p /usr/local/maven
tar -zxvf /home/apache-maven-3.9.3-bin.tar.gz -C /usr/local/maven
cd /usr/local/maven/apache-maven-3.9.3/
cd conf/
mkdir -p /m2/repository
3.3 编辑 settings.xml 文件
- 修改资源库位置
- 添加阿里云国内镜像
<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"><localRepository>/m2/repository</localRepository><pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror></mirrors><profiles></profiles>
</settings>
3.4 添加 maven 环境变量内容
vi /etc/profile
...
MAVEN_HOME=/usr/local/maven/apache-maven-3.8.5
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH
source /etc/profile
4. IntelliJ IDEA创建web项目
一定要是旗舰版或者破解版,社区版本不支持
一定要是旗舰版或者破解版,社区版本不支持
一定要是旗舰版或者破解版,社区版本不支持
4.1 创建项目
首先利用maven创建webapp,注意一定选择maven-archetype-webapp
4.2 创建源码目录
将工程命名为MyJava,等工程创建好后,创建源码目录,默认是没有的,一般放在main下面,目录名叫java
4.3 在java目录中添加MyServlet.java代码
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class MyServlet extends HttpServlet {protected void doPods(HttpServletRequest request,HttpServletResponse response) throws javax.servlet.ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request,HttpServletResponse response) throws javax.servlet.ServletException,java.io.IOException{//request.getRequestDispatcher("/index.jsp").forward(request,response);response.setContentType("text/html");response.getWriter().println("my first servlet code");}
}
4.4 在pom.xml文件添加必要的dependency依赖
<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/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>MyJava</artifactId><packaging>war</packaging><version>${project.release.version}</version><name>MyJava Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><!--根据个人需要自己修改--><source>11</source><target>11</target><webResources><resource><directory>src/main/webapp</directory><targetPath>/</targetPath></resource></webResources></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.4.3</version></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version></plugin></plugins></build>
<!--<properties><project.release.version>0.1-SNAPSHOT</project.release.version></properties>
--><profiles><profile><id>maven-releases</id><properties><project.release.version>0.1</project.release.version></properties></profile></profiles><distributionManagement><repository> <!-- release 版本上传用的仓库 --><id>maven-releases</id> <!-- server 的 id --><url>http://192.168.17.133:8081/repository/maven-releases/</url> <!-- 仓库的 URL --></repository><snapshotRepository><id>maven-snapshots</id><url>http://192.168.17.133:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement></project>
4.5 修改web.xml文件
<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><servlet><servlet-name>MyServlet</servlet-name><servlet-class>MyServlet</servlet-class></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/demo</url-pattern></servlet-mapping>
</web-app>
4.6 在main/webapp下修改index.jsp,没有则新建
<%--Created by IntelliJ IDEA.User: yzcnDate: 2023/7/19Time: 17:28To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>java demo</title>
</head>
<body>
welcome to learn java,come on ~ 20230719
</body>
</html>
4.7 开始tomcat配置
配置server目录和端口
配置tomcat部署
4.8 启动调试tomcat
配置好tomcat后,就可以在右侧看到绿色的按钮,单击后就可以启动tomcat
输入localhost:8080/MyJava_war/就可以看到这个内容