Maven入门级别使用

1.什么是Maven?

​ Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档项目管理工具软件。

​ Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

​ Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程,行内专家、内行的含义。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

2.为什么要用Maven?

Maven能干什么?能解决我们开发过程中的一些问题。

编译,测试,部署,打包。。。。

  • jar包引入问题

    我们之前的项目中每一次创建项目都需要复制粘贴好多个jar包(java项目打成的一个xxx.jar文件),麻烦,又占内存,使用maven可以更好的帮助我们导入jar包,并且节省内存!只需引入我们要导入jar包坐标就可以了!

  • 编译功能

    maven 也可以帮助我们编译项目,javac.exe java.exe 如果使用这个命令,一次只能编译一个java文件, 麻烦 !但是我们使用的各种高级开发工具,idea, eclipse ,myeclipes , springtoolsite …。所以说现在也基本不用maven 编译了。

  • 单元测试

    junit @Test maven 中集成的有单元测试功能。

  • 打包部署

    maven可以帮我们把项目打成 jar包/war包。

  • 项目依赖(分布式 maven的进阶使用)

3.Maven的依赖管理,仓库分类

​ maven 的工作需要从仓库下载一些 jar 包,本地的项目 test1、等都会通过 maven软件从远程仓库(可以理解为互联网上的仓库)下载 jar 包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此 jar 包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。
在这里插入图片描述
在这里插入图片描述

  • 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,优先从本地仓库查找默认本地仓库位置在${user.dir}/.m2/repository , ${user.dir}表示 windows 用户目录。
  • 远程仓库(私服):如果本地需要插件或者 jar 包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。
  • 中央仓库 :在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构建。

第二节:Maven的安装和简单使用

2.1 Maven的下载安装

https://archive.apache.org/dist/maven/maven-3/ maven的下载地址

解压:放在一个灭有中文的目录中。

2.2 Maven的配置
  1. conf—>settings

    image-20210604095218605 2. 配置阿里云镜像

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

在这里插入图片描述
3 配置maven默认的jdk环境

在pom文件里面可以做下配置,一会儿再看.设置maven默认的jdk为1.8
在这里插入图片描述

<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>

将setting.xml文件复制一份放入 你自己的本地maven仓库中。

2.3 Maven的环境变量设置

此电脑—》属性—》高级系统设置—》环境变量:

跟jdk一样:

先配置:maven的家

变量名:MAVEN_HOME  变量值:安装的位置 (路径)

配置Path: 新建: %MAVEN_HOME%\bin

配置完成后:cmd命令行窗口—> mvn -v

在这里插入图片描述

2.4 Maven的常用命令

​ 直接启动web命令:mvn tomcat:run,这种可能会报错,mvn tomcat7:run,需要配置一下。

我们可以在 cmd 中通过一系列的 maven 命令来对我们的 maven-helloworld 工程进行编译、测试、运行、打包、安装、部署。

mvn clean : 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容,比如从其他拿过来的项目,该命令不隶属于maven构建的声明关系。

mvn complie : compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下,注意事项要看到哦。

mvn test : 是 maven 工程的测试命令,mvn test,会执行 src/test/java 下的单元测试类。mvn package : 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war包。

mvn install : 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。

<build>
    <plugins>
      <!-- maven与tomcat8关联;使用tomcat7 -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <server>tomcat8</server>
        </configuration>
      </plugin>
        <!--打包问题的一个bug解决方式-->
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.4.2</version>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </plugin>
    </plugins>
  </build>
2.5 Idea配置Maven

file—>setting—>maven
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
otherSettings的配置跟settings的配置一模一样。再配置一遍就可以了!

2.6 Maven创建java项目

1.不带骨架的来创建一个项目

在这里插入图片描述
在这里插入图片描述
Maven项目的目录结构
在这里插入图片描述

2.7 Maven创建Web项目

使用maven提供的原型骨架创建web项目。

在这里插入图片描述
在这里插入图片描述
此时创建的项目中没有java和Resources目录:这两个目录需要我们自己创建;
在这里插入图片描述

2.8 Maven的jar包来源

打开百度:https://mvnrepository.com/ 中央仓库的网址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杵意

谢谢金主打赏呀!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值