首页 > 其他分享 >maven 入门

maven 入门

时间:2023-01-31 09:57:45浏览次数:54  
标签:Maven java 入门 项目 jar maven 所示 目录

一、Maven的基本概念

Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理

1.1、项目构建

项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。
image.png
理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。

1.2、依赖管理

依赖指的是jar包之间的相互依赖,比如我们搭建一个Struts2的开发框架时,光光有struts2-core-2.3.16.3.jar这个jar包是不行的,struts2-core-2.3.16.3.jar还依赖其它的jar包,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。

1.3、使用Maven的好处

Maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。
Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程
只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情
使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。

二、Maven下载

下载地址:http://maven.apache.org/download.cgi
image.png
下载完成后,得到一个压缩包image.png,解压,可以看到maven的组成目录
image.png
Maven目录分析

  • bin:含有mvn运行的脚本
  • boot:含有plexus-classworlds类加载器框架
  • conf:含有settings.xml配置文件
  • lib:含有Maven运行时所需要的java类库
  • LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

三、Maven安装

1、首先要确保电脑上已经安装了JDK(要jdk 1.6+的版本),配置好JDK的环境变量,使用如下的两个命令检查检查JDK安装的情况。
1 Echo %JAVA_HOME% 2 Java -version
image.png
2、对apache-maven-3.2.3-bin.zip进行解压缩
对apache-maven-3.2.3-bin.zip进行解压缩,例如解压到如下目录(解压目录最好不要有中文)
image.png
3、设置系统环境变量:MAVEN_HOME
image.pngimage.png
4、设置环境变量Path,将%MAVEN_HOME%\bin加入Path中,一定要注意要用分号;与其他值隔开,如下图所示:
image.png
%MAVEN_HOME%\bin代表的就是"E:\apache-maven-3.2.3\bin"目录
5、验证Maven安装是否成功
打开cmd窗口
image.png
输入"mvn –v"命令 查看Maven的相关信息,如下图所示:
image.png
能够出现这样的信息就说明Maven的安装已经成功了。
6、设置MAVEN_OPTS环境变量(可选配置)
由于Maven命令实际上是执行了Java命令,所以可以通过JAVA命令参数的方式来设置MAVEN运行参数。MAVEN_OPTS环境变量正是用于此用途
MAVEN_OPTS
-Xms128m -Xmx512m,分别设置JVM的最小和最大内存,如下图所示:
image.png

四、Maven的简单使用

4.1、Maven项目的目录约定

MavenProjectRoot(项目根目录)

|----src
|     |----main
|     |         |----java ——存放项目的.java文件
|     |         |----resources ——存放项目资源文件,如spring, hibernate配置文件
|     |----test
|     |         |----java ——存放所有测试.java文件,如JUnit测试类
|     |         |----resources ——存放项目资源文件,如spring, hibernate配置文件
|----target ——项目输出位置
|----pom.xml ----用于标识该项目是一个Maven项目

4.2、手动创建Maven项目,使用Maven编译

1、创建项目根文件夹,例如Maven01
image.png
2、在Maven01文件夹中创建“pom.xml”文件,如下图所示:
image.png
pom.xml文件中的内容如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 5 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 6     <!--所有的Maven项目都必须配置这四个配置项-->
 7     <modelVersion>4.0.0</modelVersion>
 8     <!--groupId指的是项目名的项目组,默认就是包名-->
 9     <groupId>cn.gacl.maven.hello</groupId>
10     <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
11     <artifactId>hello-first</artifactId>
12     <!--version指的是版本,这里使用的是Maven的快照版本-->
13     <version>SNAPSHOT-0.0.1</version>
14 </project>

3.编写Java类文件,Maven项目规定,所有的*.java文件必须放在src目录下的main目录下的java目录中,在Maven01项目根目录中创建一个src目录,然后在src目录中创建main目录,在main目录中再创建java文件夹,如下图所示:
image.pngimage.pngimage.png
在java文件夹下创建一个Hello.java文件,如下图所示
image.png
Hello.java文件中编写如下代码:

1 public class Hello{
2     public static void main(String[] args){
3         System.out.println("Hello Maven");
4     }
5 }

4.使用Maven编译Hello.java,首先进入到项目根目录,然后使用命令”mvn compile”进行编译,如下图所示:
image.png
image.png
使用Maven编译完成之后,在项目根目录下会生成一个target文件夹,如下图所示:
image.png
打开target文件夹,可以看到里面有一个classes文件夹,如下图所示:
image.png
classes文件夹存放的就是编译成功后生成的.class文件,如下图所示:
image.png
5.使用"mvn clean"命令清除编译结果,也就是把编译生成的target文件夹删掉,如下图所示:
image.png
执行完"mvn clean"命令后,target文件夹就会被删除了。

五、修改从Maven中心仓库下载到本地的jar包的默认存储位置

从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录(如"C:\Users\gacl"),如下图所示
image.png
image.png
Jar包存放在这个位置不太好,我们希望能够自己定义下载下来的jar包的存放位置,因此我们可以自己设置下载到本地时的jar包的存放目录。
在“E:\”目录下创建一个“repository”文件夹
image.png
找到apache-maven-3.2.3\conf目录下的settings.xml文件,如下图所示:
image.png
编辑setting.xml文件,如下图所示:
image.png
加上下面的代码
1 E:/repository
image.png
这样就可以把jar包下载到我们指定的E:/repository目录中了,如下图所示:
image.png
把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。如下图所示:
image.png
第一次执行"mvn compile"和"mvn clean"这两个命令时,Maven会去中央仓库下载需要的jar包,而第二次执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。
以上就是Maven的简单入门讲解。

标签:Maven,java,入门,项目,jar,maven,所示,目录
From: https://www.cnblogs.com/Nicander/p/17077950.html

相关文章

  • XML概述和快速入门
    XML概述概念:Extensible  Markup  Language 可扩展标记语言可扩展:标签都是自定义的。功能:存储数据配置文件在网络中传输xml与h......
  • Redis快速入门
    Redis快速入门,分两个客户端:Jedis和SpringDataRedis使用Jdedis1、引入依赖<!--jedis--><dependency>    <groupId>redis.clients</groupId>    <artifactId>jed......
  • drf从入门到精通 01
    今日内容详细学习资料个人博客:https,证书过期忽略 -https://www.liuqingzheng.top/cnblogs博客(高级部分的内容) -https://www.cnblogs.com/liuqingzheng知乎 -htt......
  • 洛谷oj题单【入门1】顺序结构-入门难度(Java)
    洛谷oj题单【入门1】顺序结构-入门难度(Java)来源:https://www.luogu.com.cn/training/100#problemsB2002Hello,World!publicclassMain{  publicstaticvoidmain......
  • Quarkus入门体验,22ms启动一个Web服务
    简介Quarkus是类似于SpringBoot的框架,可以方便大家进行Java开发。利用GraalVM的魔力,能更好的适应云原生的场景,极快的启动速度。创建项目在IDEA就直接有创建Quarkus项目......
  • 04Anaconda快速入门使用
    。1.常用命令1.查看版本conda--version2.检查更新condaupdateconda过程会比较慢一点2.环境命令1.创建新的虚拟环境condacreate-nxxx(创建名为xxx的虚拟环......
  • API对象--Service(chrono《kubernetes入门实战课》笔记整理)
     【概念解说】当pod被实例化出来,如果运行一段时间会销毁,虽然deployment和ds会注意管理和维护pod的数目,但是pod销毁后再重建,ip会发生变化,这对于服务来说,是很麻烦的。所......
  • drf项目 day01 入门
    一、web应用模式#前后端混合开发(前后端不分离):返回的是html的内容,需要写模板,就像是我们写bbs项目时创建的.html文件,在里面写Python代码#前后端分离:后端工程师只专注于写......
  • Springboot入门 5分钟快速搭建Springboot框架
    5分钟快速搭建Springboot框架如何搭建springboot框架废话不多说直接开搞首先打开idea新建选择SpringInitializr,点击next选择webspringweb有的是两个web这个也是一样......
  • 离线环境解决maven编译外网下包问题
    引言近日一直忙着做持续集成,处于安全性考虑,需要在离线环境运行。项目依托Jenkins做Java/Python/Vue等工程的镜像构建,其中Java工程基本基于Maven,在外网条件下通过IDEA或者m......