maven学习总结

maven

maven约定的目录结构

每一个maven项目在磁盘中都是一个文件夹

项目名称 /
------------/src
-----------------/main #放主程序的java代码和配置文件
------------------------/java #程序的程序包和包中的java文件
------------------------/resources#程序的Java文件要使用的配置文件
-----------------/test#放测试程序的代码和文件(可以没有)
------------------------/java #测试程序的程序包和包中的java文件
------------------------/resources#测试程序的Java文件要使用的配置文件
------------/pom.xml#maven的核心文件(maven项目必须有)

maven配置文件

pom是项目对象模型,是一个pom.xml文件

  • 坐标:唯一值,在互联网中唯一标识一个项目的
<groupId>公司域名的倒写</groupId>
 <artifactId>自定义项目名称</artifactId>
  <version>自定义版本号</version>

搜索使用的中央仓库:https://mvnrepository.com/

  • packing:打包后压缩文件的扩展名,默认是jar,web是war
    packing可以不写,默认值是jar
  • 依赖
    dependencies和dependency,相当于java 中的 import。
    项目中要使用的各种资源说明,比如项目中要使用MySQL驱动
<dependencies>
      <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.9</version>
      </dependency>
</dependencies>
  • properties 配置属性
<properties>
       <java.version>1.8</java.version>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.targer>1.8</maven.compiler.targer>
</properties>
  • build:maven在进行项目的构建时,配置信息,例如指定编译java代码使用的jdk版本等等

maven生命周期 maven命令 maven的插件

  • maven的生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
  • maven命令:maven独立使用,通过命令,完成maven的生命周期的执行。
    maven可以使用命令完成项目的清理,编译,测试等等
  • maven的插件:maven命令执行时,真正完成功能的是插件,插件就是一些jar文件,就是一些类。

在idea下运用maven

配置入口:配置当前工程的设置,①file—setting—Build Excution Deployment----Build Tools—maven
配置以后新建工程的设置,②file-----other setting

使用模板创建项目

  • maven-archetype-quickstart :普通的java项目
  • maven-archetype-webapp :web工程

依赖范围

使用scope表示。

  • scope的值有compile ,test ,provided,默认是compile
    scope:表示依赖使用范围,也就是在maven项目中哪些阶段起作用。
    maven构建项目的过程,编译,测试,打包,安装,部署(阶段)
  • compile在所有阶段都起作用
  • test 在测试阶段起作用
  • provided 在编译,测试阶段起作用。在打包之后的阶段会有其他程序提供相应的依赖

maven常用操作

  • 1.maven的属性设置
    <properties>设置maven的常用属性
  • 2.maven的全局变量
    自定义的属性,1.在<properties>通过自定义标签声明变量(标签名就是变量名)
    2.在pom.xml文件中的其他位置,使用${标签名}使用变量的值
    自定义全局变量一般是定义 依赖的版本号,当你的项目中要使用多个相同的版本号,
    先使用全局变量定义,在使用${变量名}
    -3.资源插件
<resources>
     <resource>
       <directory>src/main/java</directory><!--所在的目录-->
       <includes><!--包括目录下的.properties,.xml文件都会扫描到-->
         <include>**/*.properties</include>
         <include>**/*.xml</include>
       </includes>
       <!--filtering选项false不启用过滤器,*.property已经起到过滤的作用了-->
       	 <filtering>false</filtering>
     </resource>
</resources>

作用:mybatis课程中会用到这个作用
1.默认没有使用resources的时候,maven执行编译文件时,会把src/main/resources目录中的文件拷贝到target/classes目录中。
对于src/main/java目录下的非java文件不处理,不拷贝到target/classes目录中
2.我们的程序有些时候需要把一些文件放在src/main/java目录中,当我们执行Java程序时,需要用到src/main/java目录中的文件。需要告诉maven在mvn compile src/main/java目录下的程序时,需要把文件一同拷贝到target/classes目录中。
此时就需要在<build>中加入<resources>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值