文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Maven安装与环境变量配置教程

2023-06-20 13:03

关注

这篇文章主要讲解了“Maven安装与环境变量配置教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Maven安装与环境变量配置教程”吧!

目录

一、Maven简介

1. 什么是Maven

Maven:是Apache提供的免费开源的项目管理工具。它提供了一个项目对象模型(pom.xml)、一个依赖管理系统(根据坐标,帮我们引入依赖)、一套项目生命周期(帮我们方便的进行项目构建)、一组标准集合(Maven工程的目录结构规范,坐标规范)、和一个插件管理系统(提供了进行项目构建的命令)。

2. Maven的作用

3. 坐标的概念

小结

二、Maven安装配置【操作】

1. Maven的仓库类型

本地仓库:本地缓存jar包的文件夹

  1. 本地仓库默认在:C:\Users\电脑的用户名\.m2\repository

  2. 通常会修改配置文件,修改本地仓库的路径

远程仓库(私服):一些企业、组织、社区搭建的仓库服务

  1. 通常企业里人自己搭建私服。私服里的jar包大多数还是来自于中央仓库

  2. 有些是企业内部自己搭建、自己使用的

  3. 有些是企业搭建面向整个互联网的,比如:阿里私服

中央仓库

  1. 是Maven官方团队维护的仓库,里边有最全的jar包。

  2. 但是没有授权的jar包,中央仓库里没有,比如:Oracle驱动包

  3. 地址:https://repo1.maven.org/maven2

2. 下载与目录结构

maven  |--bin   Maven的可执行命令文件夹  |--boot  Maven的引导程序(类加载器)  |--conf  配置文件夹  |--lib   Maven的核心程序代码

3. Maven安装配置

3.1 安装Maven

Maven是免安装的,直接解压

  1. 注意:解压路径里,不要有中文、空格、特殊字符

注意检查JDK环境变量是否正确

  1. Maven软件是Java语言编写的

配置Maven环境变量:

  1. 增加MAVEN_HOME=Maven的解压目录

  2. 修改Path中添加 %MAVEN_HOME%\bin

Maven安装与环境变量配置教程

Maven安装与环境变量配置教程

验证Maven配置

  1. 打开cmd,输入命令:mvn -version

Maven安装与环境变量配置教程

3.2 配置Maven仓库

配置步骤:

  1. 新建一个目录,例如 :repository,目录里不能有中文、空格、特殊字符

  2. 比如我的路径为:D:\develop_software\maven\repository

  3. 修改Maven的conf\settings.xml配置文件

Maven安装与环境变量配置教程

扩展:

  1. 修改settings.xml里,设置Maven编译的版本jdk1.8。在<profiles>里边增加:

<profile>        <id>jdk-1.8</id>        <activation>            <activeByDefault>true</activeByDefault>            <jdk>1.8</jdk>        </activation>        <properties>            <maven.compiler.source>1.8</maven.compiler.source>            <maven.compiler.target>1.8</maven.compiler.target>            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>        </properties>    </profile>

Maven安装与环境变量配置教程

小结

仓库类型

maven的安装:

  1. 解压。注意:解压的目录里不要有中文、空格、特殊字符

  2. 配置环境变量:

    1. 新增MAVEN_HOME, 值就是maven软件的解压目录

    2. 修改Path,值里新增%MAVEN_HOME%\bin

配置本地仓库:

三、Maven项目的目录结构

一个项目要想使用Maven进行管理,那么这个项目的目录结构就必须要符合Maven的要求:

maven项目|--pom.xml                 项目对象模型文件,一个Maven项目必定有pom.xml文件|--src|--main                项目的主体程序代码目录||--java            项目的Java程序代码放在这文件夹里||--resources       项目的配置文件放在这里||--webapp          项目的web资源放在这里,html,css,js,jsp,音频,图片,视频等等||--WEB-INF ||--其它web资源|--test                项目的单元测试代码目录|--java            项目的单元测试代码|--resources       项目单元测试需要的配置文件

小结

src\main\java:放主体程序代码的java文件

src\main\resources:放主体程序代码的配置文件

src\main\webapp:放主体程序代码的web资源:html、css、js、jsp等等

四、Maven构建项目

1. 项目构建的生命周期

Maven命令执行的规律:

clean:cleancompile:compiletest:compile=>testpackage:compile=>test=>packageinstall:compile=>test=>package=>install人的生命周期:婴儿=>儿童=>少年=>青年=>中年=>老年

Maven有三套生命周期

  1. 清理生命周期:CleanLifeCycle

    1. 有常用命令:clean

  2. 默认生命周期(构建生命周期):DefaultLifeCycle

    1. 有常用命令:compile->test->package->install->deploy

  3. 站点生命周期:SiteLifeCycle

    1. 有常用命令:site。生成Maven项目的描述信息文档

小结

常用命令:

Maven的生命周期

五、Maven管理依赖和插件

Maven的依赖管理

1. 在idea配置Maven(操作)

Maven安装与环境变量配置教程

Maven安装与环境变量配置教程

2. 在idea创建Maven项目

2.1 创建Maven的java项目

创建Module,选择Maven类型,选择骨架org.apache.maven.archetypes:maven-archetype-quickstart

Maven安装与环境变量配置教程

设置项目的坐标

Maven安装与环境变量配置教程

再继续步骤,跟以前的一样:设置module的名称和位置

注意:不要和已有的其它module重名或者重位置

Maven安装与环境变量配置教程

创建后,如果弹窗Maven projects need to be imported,就选择 启动自动导入。

作用是:如果pom.xml文件有变更,Maven会自动读取,立即生效;否则就要手动导入

Maven安装与环境变量配置教程

如果文件夹缺失,就创建补全,然后刷新

Maven安装与环境变量配置教程

2.2 创建Maven的web项目

1.选择项目的骨架

Maven安装与环境变量配置教程

2.设置项目的坐标

如果上边Add as module toParent是有配置的,那么要在右边全部选择none

Maven安装与环境变量配置教程

Maven安装与环境变量配置教程

3. 引入依赖

如果项目中需要使用jar包,只需要把jar包的坐标配置到项目的pom.xml中即可。在pom.xml的<dependencies>标签里增加以下内容:

<dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.12</version>    <scope>依赖范围</scope></dependency>

可以在pom.xml里,输入dep,会自动补充坐标模板,我们填充坐标值即可

可以使用 alt+insert,会弹出依赖导入的界面,可以从本地仓库里搜索依赖

如果不知道依赖的坐标,可以从中央仓库搜索坐标:https://mvnrepository.com/

4. 依赖范围

如果项目中引入的jar包过多,可能会出现jar包冲突,我们可能设置jar包不同的依赖范围来处理jar包冲突。

Maven的依赖范围有:

Maven安装与环境变量配置教程

实际开发中特殊的jar包

小结

依赖范围:

Maven的插件

jdk编译版本插件
<!--jdk编译插件--><plugins>    <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-compiler-plugin</artifactId>        <version>3.2</version>        <configuration>            <source>1.8</source>            <target>1.8</target>            <encoding>utf-8</encoding>        </configuration>    </plugin></plugins>
tomcat7插件
<plugins>    <plugin>        <groupId>org.apache.tomcat.maven</groupId>        <artifactId>tomcat7-maven-plugin</artifactId>        <configuration>            <!-- 指定端口 -->            <port>82</port>            <!-- 项目路径 -->            <path>/</path>        </configuration>    </plugin></plugins>

六、Maven的私服

搭建私服

讲解

什么是Maven的私服

Maven安装与环境变量配置教程

搭建Maven私服

1. 下载nexus

Maven安装与环境变量配置教程

2. 安装nexus

解压nexus-2.12.0-01-bundle.zip。注意:解压路径里不要有中文、空格、特殊字符

以管理员方式打开cmd,切换进入解压目录的bin文件夹里,运行命令:nexus.bat install

  1. 把nexus安装成为Windows的服务

Maven安装与环境变量配置教程

3. 启动nexus
4. 登录nexus

打开浏览器,输入地址:http://localhost:8081/nexus

Maven安装与环境变量配置教程

登录“Log in”,输入帐号和密码进行登录(帐号admin,密码admin123)

Maven安装与环境变量配置教程

nexus的仓库类型介绍

Maven安装与环境变量配置教程

小结

使用私服

把项目发布到私服

使用场景

配置

在用户自己的Maven软件里修改conf/settings.xml

<server>    <id>releases</id>    <username>admin</username>    <password>admin123</password></server><server>    <id>snapshots</id>    <username>admin</username>    <password>admin123</password></server>

在用户需要发布的私服的项目pom.xml里,配置私服仓库的地址。

<distributionManagement>    <repository>        <!-- 注意:id的值,是刚刚在settings.xml中配置的server的id -->        <id>releases</id>        <url>http://localhost:8081/nexus/content/repositories/releases/</url>    </repository>    <snapshotRepository>        <!-- 注意:id的值,是刚刚在settings.xml中配置的server的id -->        <id>snapshots</id>        <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>    </snapshotRepository></distributionManagement>

测试

启动nexus服务(如果已启动,就不需要做这一步)

在项目里执行Maven的deploy命令:

  1. 根据本项目pom.xml中version定义决定发布到哪个仓库

  2. 如果version定义为xx-snapshot,项目将发布到 nexus 的 snapshot仓库

  3. 如果version定义为xx-release,项目将发布到 nexus的 release 仓库

从私服下载jar包

使用场景

好处是:

  1. 由私服对公司项目的依赖 jar 包统一管理

  2. 可以提高下载速度, 项目连接私服下载 jar 包的速度,要比项目连接中央仓库的速度快的多。

配置

settings.xmlprofiles标签下配置:

注:由于settings.xml中没有repositories标签,所以要使用profile标签来配置仓库

<profile>    <!--profile 的 id-->    <id>dev</id>    <repositories>        <repository>            <!--仓库 id, repositories 可以配置多个仓库,保证 id 不重复-->            <id>nexus</id>            <!--仓库地址,即 nexus 仓库组的地址-->            <url>http://localhost:8081/nexus/content/groups/public/</url>            <!--是否下载 releases 构件-->            <releases>                <enabled>true</enabled>            </releases>            <!--是否下载 snapshots 构件-->            <snapshots>                <enabled>true</enabled>            </snapshots>        </repository>    </repositories>    <pluginRepositories>        <!-- 插件仓库, maven 的运行依赖插件,也需要从私服下载插件 -->        <pluginRepository>            <!-- 插件仓库的 id 不允许重复,如果重复后边配置会覆盖前边 -->            <id>public</id>            <name>Public Repositories</name>            <url>http://localhost:8081/nexus/content/groups/public/</url>        </pluginRepository>    </pluginRepositories></profile>

激活profile定义的仓库

激活后,配置的仓库才会生效

<activeProfiles><activeProfile>dev</activeProfile></activeProfiles>

测试 创建Maven应用testdownload,配置依赖

<dependency>    <groupId>com.baidu</groupId>    <artifactId>commons-utils</artifactId>    <version>1.0-SNAPSHOT</version></dependency>

编译项目,查看日志会出现:

Maven安装与环境变量配置教程

查看本地仓库里,会有从私服下载的jar包

小结

把项目发布到私服:

  1. 在Maven的settings.xml里,配置仓库的帐号和密码

  2. 在Maven项目的pom.xml里,配置仓库的地址

  3. 执行Maven命令:mvn deploy

从私服里下载jar:

  1. 在settings.xml里配置仓库地址

  2. 在settings.xml里激活仓库的配置

  3. 在Maven项目里,配置依赖

    1. 如果这个依赖,在本地仓库里没有,Maven就会从私服里下载到本地仓库,再引入到Maven项目里

上传jar到本地仓库和私服

目标
把第三方jar打包到本地仓库

mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar

Maven安装与环境变量配置教程

Maven安装与环境变量配置教程

把第三方jar打包发布到私服
<server>    <id>thirdparty</id>    <username>admin</username>    <password>admin123</password></server>

mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

Maven安装与环境变量配置教程

Maven安装与环境变量配置教程

参数说明

上传成功后,在 nexus 界面点击 3rd party 仓库可以看到这包。

七、Lombok

1. Lombok介绍与配置

什么是Lombok
Lombok的作用

通过添加注解的方式,帮我们生成一些方法,提高开发人员的开发效率。

例如:

Lombok的配置
<dependency><groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId><version>1.18.8</version><scope>provided</scope></dependency>

安装插件

Maven安装与环境变量配置教程

编译时出错,可能是没有enable注解处理器。Annotation Processors > Enable annotation processing。设置完成之后程序正常运行。

Maven安装与环境变量配置教程

2. Lombok的常用注解

目标

@Data

@Getter/@Setter

@ToString

@NoArgsConstructor, @AllArgsConstructor

@Data

@Datapublic class User implements Serializable{    private Integer id;    private String username;    private String password;    private String address;    private String nickname;    private String gender;    private String email;    private String status;}

@Getter/@Setter

public class User implements Serializable{    @Setter    @Getter    private Integer id;    private String username;    private String password;    private String address;    private String nickname;    private String gender;    private String email;    private String status;}

@ToString

@ToString(exclude = {"id"}) public class User implements Serializable{    private Integer id;    private String username;    private String password;    private String address;    private String nickname;    private String gender;    private String email;    private String status;}

@xxxConstructor

@NoArgsConstructor: 无参构造器

@NoArgsConstructorpublic class User implements Serializable{    private Integer id;    private String username;    private String password;    private String address;    private String nickname;    private String gender;    private String email;    private String status;}
@AllArgsConstructorpublic class User implements Serializable{    private Integer id;    private String username;    private String password;    private String address;    private String nickname;    private String gender;    private String email;    private String status;}

附:添加依赖出错怎么办

现象:

原因:

解决:

第一步:配置阿里云的仓库镜像

打开Maven软件里conf/settings.xml

<mirrors>标签中添加如下内容:

<mirror>    <id>alimaven</id>    <name>aliyun  maven</name>    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>    <mirrorOf>central</mirrorOf></mirror>

第二步:删除本地仓库里的缓存文件

在本地仓库文件夹里搜索*.lastUpdated

Maven安装与环境变量配置教程

把搜索到的所有文件全部删除

Maven安装与环境变量配置教程

第三步:重新添加依赖

感谢各位的阅读,以上就是“Maven安装与环境变量配置教程”的内容了,经过本文的学习后,相信大家对Maven安装与环境变量配置教程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯