maven笔记

maven笔记

作用

1.maven可以管理jar文件

2.自动下载jar和他的文档和源码

3.管理jar直接的依赖 a.jar需要b.jar 那么maven会自动帮你下载b.jar

4.管理你需要的jar版本

5.帮你编译程序 把java编译为class文件

6.帮你测试你的代码是否正确

7.帮你打包文件 形成jar文件 或者war文件

8.帮你部署项目

项目搭建

构建是面向过程的 就是一些步骤

maven支持的构建包括:

​ 1.清理:把之前项目编译的东西删除掉 为新的编译代码做准备

​ 2.编译:把程序源代码编译为执行代码,java-class文件批量编译 这是maven可以做到的 javac不一样 javac一次执行编译一个文件

​ 3.测试:maven可以执行测试多个测试代码 同时测试很多个功能

​ 4.报告:生成测试结构的文件 测试是否通过

​ 5.打包:把你的项目中的所有class文件 配置文件等资源放到一个压缩文件中 这个压缩文件就是项目的结果文件 通常是java程序 压缩文件是jar的扩展名 对于web应用 压缩文件时war包

​ 6.安装:把5中生成的文件 安装到本地计算机中

​ 7.部署:把程序安装好可以执行 一般不用这个功能

如果你创建了一个maven项目 那么右侧就会出现一个栏目 与上的1到7对应
在这里插入图片描述

核心概念

1.pom:文件 名字就叫做pom.xml pom翻译过来就是项目对象模型

​ maven吧一个项目当做一个项目使用 控制maven构建项目的过程 管理jar依赖

2.约定的目录结构:maven项目的目录和文件的位置都是规定的

3.坐标:是一个唯一的字符换 用来表示资源

4.依赖管理:管理你的项目可以使用jar文件

5.仓库管理(了解):你的资源存放文件

6.生命周期(了解):maven工具构建项目的构成 就是生命周期

7.插件和目标:(了解) 执行maven构建时候用的工具就是插件

8.继承

9.聚合

约定目录的结构

在这里插入图片描述

当你创建一个全新的maven项目时候 里面的目录结构

项目的目录->里面有src和pom.xml二者平级

​ src 包含 main and test
​ main - > java 主程序的java文件
​ resources:配置文件
​ test — > java:测试程序艾玛
​ resources:测试使用的配置文件

在这里插入图片描述

仓库

仓库说是什么

存放maven使用的jar和我们项目中使用的jar

仓库分为:本地仓库 远程仓库

本地仓库:就是你的个人计算机上文件夹存放jar的地方

远程仓库:放在互联网上 使用网络才能进行操作

​ 分为:中央仓库 镜像仓库 私服

​ 中央仓库:最权威的 所有开发人员都共享使用的一个集中的仓库

​ 镜像仓库:就是中央仓库在各个地区的备份

​ 私服:公司内部使用的仓库 不对外 在局域网中使用

pom的基本结构

1.坐标 唯一 在互联网中唯一标识项目的

<groupId>公司域名 的 倒写</groupId>
<artifactId>自定义项目名称</artifactId>
<version>自定版本号</version>

2.packaging 打包后压缩文件的扩展名 默认是jar 或者war

3.依赖

dependencies和dependency 相当于是java代码中的import
你的项目中要使用的各种资源的说明 比如:我的项目要使用mysql驱动

<dependencies>
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.9</version>
	</dependency>
</dependencies>

依赖的作用范围

maven构建项目清理 编译 测试 打包 安装 部署
test 测试阶段起作用
provided提供者 当你项目使用使用时候好使 当你打包以后不会把他也插进去
compile 哪里都用

常用操作

1.属性设置 加入依赖

2.全局变量

​ 1.自定义属性

​ 1.在属性里自定义标签中声明变量

​ 2.在pom文件中的其它位置 使用${标签名} 使用变量的值

​ 自定义的全局变量名一般用来一定版本号 当你的项目中要是用多个相同的版本号 可以先定义全局变量 在动态添加到依赖中

<properties>
    <kotlin.version>1.0.0</kotlin.version>
 </properties>
  <dependencies>
    <dependency>
      <groupId>org.jetbrains.kotlin</groupId>
      <artifactId>kotlin-stdlib</artifactId>
      <version>${kotlin.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jetbrains.kotlin</groupId>
      <artifactId>kotlin-test</artifactId>
      <version>${kotlin.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

资源插件

build 一般情况下mvn compile 作用是把java文件夹里面的java文件编译成class 但是java文件夹对其他的文件不会编译 比如:.xml和.properties文件 编译不会放到target中

所以我们要设置 当你扫描到其他文件 也要进行操作

 <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>
  </build>

/*.properties
/*.xml

false



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值