Maven使用

Maven


(1)什么是Maven

  • 项目管理工具 它包含了

    • ①一个项目对象模型 (POM Project Object Model)

    • ②一组标准集合

      • 一个Maven的项目 , 它的目录结构是固定的

      • ---src文件夹(源码):
        	---main : (主工程代码)
        		---java : 主工程代码 
        		---resources : 主工程需要使用的配置文件
        		---webapp : web项目的资源目录(jsp,html,WEB_INF...)只有
        	---test : (测试代码)
        		---java : 测试代码
        		---resources : 测试需要使用的配置文件
        ---pom.xml文件(项目的核心配置文件)
        

      一个java项目

      1642863704564
  • ③一个项目生命周期 (Project Lifecycle)

  • ④一个依赖管理系统 (Dependency Management System) :

    • 通过配置的形式来去标识我们项目所需要的jar包 , 插件的信息

    • ⑤用来运行定义在生命周期阶段 (phase) 中插件 (plugin)目标 (goal)的逻辑

(2)Maven有什么作用

  • 我们在开发比较大型的项目的时候 , 往往要导入大量jar包 , 很费时间 , 而且经常会发生 jar冲突 , 版本冲突等问题
  • Maven可以帮我们管理项目的生命周期
  • Maven可以帮助我们去测试
  • Maven可以帮我们去把项目去部署到服务器

(3)Maven安装使用

  • Maven的文件都是什么 ?

    • ①bin : 放的是可执行文件
    • ②boot : Maven的启动器
    • ③conf : Maven的配置文件 Settings.xml文件 最重要
    • ④lib : Maven执行的一些 依赖和jar包
  • 配置

    • 配置MAVEN_HOME : D:\Maven
    • 配置PATH : %MAVEN_HOME%\bin
  • 仓库 :

  • 分类 :

    • 本地仓库 : 存储在本地的仓库 , 项目使用的插件或jar包 , 优先从本地仓库找

    • 远程仓库 : 如果本地仓库没有的jar包或插件 , 默认去远程仓库中下载 , 远程仓库可以在互联网内也可以在局域网内 (私服)

    • 中央仓库 : 在Maven软件中内置了一个远程仓库地址 ,

      http://repo1.maven.org/maven2 , 它是中央仓库 , 服务于整个互联网 , 它是由Maven团队自己维护 , 里面存储了非常全的jar包 , 它包含了世界上大部分流行的开源项目构件 (官服)

  • 配置本地仓库 :

    • 在conf中有一个Settings.xml 文件 : 默认的本地仓库路径如下
    • 1642840742420
    • 更改下边的路径为自己想创建的路径 , 即可自定义仓库
  • 使用阿里云的仓库

  • 在Settings.xml 文件中搜索 , 将下边的代码粘贴进去

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

(4)Maven的常用命令

① compile (编译)

  • //在控制台输入 : mvn compile
    //作用 : 将java文件 编译成字节码文件
    

② clean (清除)

  • //在控制台输入 : mvn clean
    //作用 : 将字节码文件删除
    

③ package (打包)

  • //在控制台输入 : mvn package
    //将web文件打包为war包
    //同时还能编译
    

④ install (将项目安装到本地仓库)

  • //在控制台输入 : mvn install 
    //将项目安装到本地仓库
    

(5)Maven的生命周期

  • (1)Clean Lifecycle : 在进行真正的构建前进行一些清理工作
  • (2)Default Lifecycle : 构建的核心部分 编译 , 测试 , 打包 , 部署等
  • 同一套生命周期中 , 执行后边的操作 , 会自动执行前边的所有操作
  • (3)Site Lifecycle : 生成项目报告 , 站点 , 发布站点 (一般并不常用)

(6)在IDEA中配置使用Maven

①配置Maven

1642862266642

然后就可以使用Maven了

②使用Maven

<!--    打包方式      
1.jar  java项目的包  (这个是默认值 不显示)      
2.war  web项目      
3.pom      -->
<!--    <packaging>jar</packaging>-->
1642869236718
1.不使用骨架创建java项目:
  • (1)新建一个模块 ,
  • (2)选择maven (不勾选)1642863952769
  • (3)书写项目坐标1642863989247
2.使用骨架创建java项目

(如果没有使用过骨架创建过项目 , 第一次会下载很多东西 )

  • (1)新建一个模块 ,
  • (2)选择maven (勾选) 1642864962642
    • 选择骨架 最常用的两种
    • (1)java
    • 1642864198135
    • (2)webapp
    • 1642864171097
  • (3)书写项目坐标
  • 再次创建的时候 , 模板使用本地的不使用网络的 , 在创建的时候 , 添加一行属性即可 ,
  • 1644734960123
3.编写代码
  • 直接在main包下的java包下写即可
  • 使用Maven命令 , 在左边栏有一个Maven按钮 : 1642865606673
  • 其中Lifecycle是生命周期操作
  • Plugins是插件
  • 1642865634837
4.如何导入jar包 (导入依赖)
  • 通过坐标来标识依赖

  • <!--导入依赖-->
    <dependencies>   
        <!--中间加具体的依赖坐标-->
    	<dependency>
    	<groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <version>1.5.6</version>  <!--版本号-->
         <type>jar</type>
    	</dependency>
        <!--一次可以写入多个-->
        <dependency>
            ....
        </dependency>
    </dependencies>
    
  • 在https://mvnrepository.com中搜索想要的jar包 , 将坐标写在pom.xml文件中即可

  • 1642867158254
  • 这时 , 再点击左边栏的Maven就会发现多了一个 依赖目录

  • 1642867496759
  • 快捷键 : Alt + Ins 选择 Dependency Template 即可

  • 1642870530411
5.如何导入插件
  • <!--导入插件-->
    <build>
        <plugins>
            <!--这是一个编译插件 用来设置编译时的版本-->  
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>    <!--配置参数-->
                     <target>1.8</target><!--指定生成的字节码文件使用的版本-->
                     <source>1.8</source><!--编译使用的版本-->
                    </configuration>
            </plugin>
        </plugins>
    </build>
    
  • 快捷键 : Alt + Ins 选择 Plugin Template 即可快速生成

  • 1642869546956
6.不使用骨架搭建web应用

(1)要在pom.xml文件中增加一条 , 将打包方式修改为war包的形式

<packaging>war</packaging>
  • (2)注意这个配置不要在中

        <plugins>
          <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
              <port>8080</port> <!-- 访问端口 : 可以修改-->
              <path>/</path>    <!-- 访问路径 : 修改Tomcat部署当前项目的虚拟目录-->
            </configuration>
          </plugin>
        </plugins>
    

等他下载完成即可


(7)Maven中的坐标

  • 被Maven管理的资源的唯一标识
    • groupId : 组织名称 : (比如公司的域名 , 倒着写) (写的是仓库中存放这个资源的路径)

    • D:\Maven\cangku\org\apache\tomcat\maven
      
    • atifactId : 模块名称 (路径下的包名)

    • 1642946484967
    • version : 版本号 (包里边使用那一个版本)

    • 1642946504800

(8)自己设置执行命令

(1)点击如图所示

1642914235868

(2)点击Maven 然后点击添加

1642914284654

(3)输入功能名 , 项目路径 , 执行的是哪个功能1642914362184


使用scope 确定jar的使用范围

  • 作用 : 规定什么时间用什么jar包 , 避免jar包冲突
  • 例如 : 使用servlet.api时 , 在运行web项目时 , 会和Tomcat发生冲突 , 造成500错误
  • 设置这个值 , 可以选择这个jar包在那个环境(也就是那个运行阶段)下使用
  • 将来在打包的时候 , 会将这些jar包打包进war包中 , 当时有些jar包并不需要打包进去 , 所以就需要设置值来限制这个范围

在导入依赖之后 , 会有三个值

而scope默认是compile (是不显示的 , 要是想要设置 , 就需要自己手动给添加上去)

1642918409980

如果 : java环境中自带的有这个包 , 那么在编译的时候就不会报错 , 但是打成war后就要找对应的jar包 , 这个时候就需要设置runtime了

成500错误

  • 设置这个值 , 可以选择这个jar包在那个环境(也就是那个运行阶段)下使用
  • 将来在打包的时候 , 会将这些jar包打包进war包中 , 当时有些jar包并不需要打包进去 , 所以就需要设置值来限制这个范围

在导入依赖之后 , 会有三个值

而scope默认是compile (是不显示的 , 要是想要设置 , 就需要自己手动给添加上去)

[外链图片转存中…(img-82vr1MPS-1646802212023)]

如果 : java环境中自带的有这个包 , 那么在编译的时候就不会报错 , 但是打成war后就要找对应的jar包 , 这个时候就需要设置runtime了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值