Maven学习笔记

maven的核心概念

(77条消息) Maven的核心概念_EQ思凡的博客-CSDN博客_maven核心概念

1.POM文件

pom文件项目对象模型,maven把一个项目当成一个模型使用

约定的目录结构:maven项目中的目录和文件都是固定的

坐标:是唯一的一个字符串,用来表示资源

依赖管理:管理你的项目可以使用jar依赖

仓库管理:(了解就可以)资源存储的位置

生命周期:(了解)maven构建项目的周期

插件和目标:

继承:

聚合:

maven项目的约定目录:

项目/

        /src

                /main

                        /java

                        /resources

                /test

                        /java

                        /resources

        /pom.xml

tree +文件可以看到文件的结构 

修改setting里面的配置可以修改默认的路径

<localRepository>D:\Program Files\Apache\maven\apache-maven-3.8.4-bin\apache-maven-3.8.4\maven-repo</localRepository>

 仓库就是存放各种依赖的位置

 仓库存放的东西有maven存放的依赖,还有我们项目存在的依赖

本地仓库就是电脑上的本地的

远程仓库是使用互联网的仓库

远程仓库里面有中央仓库,这是最权威的,还有镜像就是中央仓库的备份

私服是在局域网里面使用的服务器

maven进行下载的时候首先检查的是本地仓库然后是私服 之后是镜像之后是局域网

动力节点王鹤Maven教程-玩转Maven系列之Maven入门实战_哔哩哔哩_bilibili

pom文件

modelversion:模型的版本对于maven2.0和maven3.0现在只能有

groupid:是域名的倒着写,或者是域名的倒写+项目名称

 actifactID:表示的是项目的名称,或者之前项目的子项目

version:表示的是版本号后面如果跟着SNAPSHOT表示的是快照,就是项目不稳定

这三项代表的是唯一的坐标,唯一的项目

www.mvnrepository.com mvn中央仓库

2.maven的编译测试打包部署等都对应着一个个的生命周期

packaging:默认打包方式是jar,web应用则是war

dependencies是依赖

dependency

项目中要使用的各种资源说明

properties:告诉我们使用的jdk的属性的

build:使用的jdk的版本

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

maven的插件:maven执行命令的时候,真正完成功能的是插件插件就是一些jar文件

1)单元测试:junit是用来测试程序的,测试的目的测试类中的方法,每一个方法都是独立的单元

maven借助单元来测试方法是否符合周期

(78条消息) Maven下Junit的使用_浪子边的博客-CSDN博客_junit maven

在pom首先去添加junit单元

测试的时候要注意的 

首先在java里面创建测试的名字

如果测试的是类则类的命名为Test+类

如果测试的是方法则方法的命名为 Test+方法

方法必须是public 要求没有返回值是void

测试的项目进行实例化: 

 测试项目:

 打包项目:

 mvn install 

将项目上传到本地仓库

 

插件是在build里面来进行配置的,

 两个配置的位置:一种是在properties里面去配置还有一种是在build里面去配置

 

 idea与maven配合使用需要去配置两个地儿,一个是settings 另一个是other settings

 

 file --settings是配置当前工程的,file-- other settings是来配置其他的settings的

这个runner可以设置jdk的参数 

设置这个参数可以加快maven项目的创建 

 

 配置以后项目的maven - other settings

 

 这里的setting for new projects可以为后面的环境来配置一些信息

在project  stucture 当中创建新的moudle,在moudle里面选择quick-start

普通的java项目 

 点击Configure --> Settings,在Runner页面的VM Options添加:-DarchetypeCatalog=local,点击Apply,点击OK。

pom.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>ch2-javase-maven</artifactId>
  <version>1.0-SNAPSHOT</version>

  <!-- 这里是网上的路径,我们的项目不是展示给别人看的,所以可以删掉-->
<!--  <name>ch2-javase-maven</name>-->
<!--  &lt;!&ndash; FIXME change it to the project's website &ndash;&gt;-->
<!--  <url>http://www.example.com</url>-->

  <properties>
<!--    使用的jdk版本-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--    这里代表的是jdk的版本-->
    <maven.compiler.source>1.8</maven.compiler.source>
<!--    你的版本应该运行在什么样子的jdk版本中-->
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <dependencies>
<!--    表示的是单元的测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

<!--  插件就算你不去写他也是有的-->
<!--  <build>-->
<!--    <pluginManagement>&lt;!&ndash; lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) &ndash;&gt;-->
<!--      <plugins>-->
<!--        &lt;!&ndash; clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle &ndash;&gt;-->
<!--        <plugin>-->
<!--          <artifactId>maven-clean-plugin</artifactId>-->
<!--          <version>3.1.0</version>-->
<!--        </plugin>-->
<!--        &lt;!&ndash; default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging &ndash;&gt;-->
<!--        <plugin>-->
<!--          <artifactId>maven-resources-plugin</artifactId>-->
<!--          <version>3.0.2</version>-->
<!--        </plugin>-->
<!--        <plugin>-->
<!--          <artifactId>maven-compiler-plugin</artifactId>-->
<!--          <version>3.8.0</version>-->
<!--        </plugin>-->
<!--        <plugin>-->
<!--          <artifactId>maven-surefire-plugin</artifactId>-->
<!--          <version>2.22.1</version>-->
<!--        </plugin>-->
<!--        <plugin>-->
<!--          <artifactId>maven-jar-plugin</artifactId>-->
<!--          <version>3.0.2</version>-->
<!--        </plugin>-->
<!--        <plugin>-->
<!--          <artifactId>maven-install-plugin</artifactId>-->
<!--          <version>2.5.2</version>-->
<!--        </plugin>-->
<!--        <plugin>-->
<!--          <artifactId>maven-deploy-plugin</artifactId>-->
<!--          <version>2.8.2</version>-->
<!--        </plugin>-->
<!--        &lt;!&ndash; site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle &ndash;&gt;-->
<!--        <plugin>-->
<!--          <artifactId>maven-site-plugin</artifactId>-->
<!--          <version>3.7.1</version>-->
<!--        </plugin>-->
<!--        <plugin>-->
<!--          <artifactId>maven-project-info-reports-plugin</artifactId>-->
<!--          <version>3.0.0</version>-->
<!--        </plugin>-->
<!--      </plugins>-->
<!--    </pluginManagement>-->
<!--  </build>-->
</project>

 要在上面加上Test之后才可以运行

 

 可以将maven里面的项目都刷新一遍

 

 点击这个项目可以进入这些项目的生命周期

 

在dependencies当中可以看到这些

 war 和 war exploded的区别(81条消息) Tomcat部署时war和war exploded区别以及平时踩得坑_徐刘根的博客-CSDN博客_war_exploded

 

 可以点击reload来进行刷新

 import module 可以导入到里面几个moudle


依赖的范围 

(76条消息) Maven 依赖范围_seasonsbin的博客-CSDN博客_maven依赖范围

  <properties>
<!--    表示的是配置的文件资源 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

 可以在properties中定义变量名

 

 

 

 不会将java目录下面的其他非java目录放在里面

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值