Maven笔记

Maven笔记

第一章Maven的简介

1.1软件开发中的阶段

1)需求分析

2)设计阶段

3)开发阶段:编译代码、自我测试。

4)测试阶段

4)项目打包、发布阶段:给用户安装项目

1.2Maven能做什么

1)项目的自动构建,帮助开发人员做项目代码的编译、测试、打包、安装、部署等工作。

2)管理依赖:管理项目中的各种Jar包;没有Maven的时候需要单独下载jar,然后手工添加依赖

1.3什么是Maven

Maven单词本身的意思是专家的意思。是自动化构建工具

1.4Maven中的概念

1)POM(Porject Object Model)项目对象模型,Maven把项目当做模型来处理

2)坐标:由groupId、artifactId、version组成。每个Maven项目中都有一个属于自己的Gav

​ groupId:组织名称,代码。公司,团体或者单位的标识。

​ artifactId:项目名称

​ Version:版本,项目的版本号,三位数字组成。SNAPSHOT,表示快照,是一个不稳定的版本。

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version> 
        <!--打包类型-->
      <packaging>jar</packaging>     
    </dependency>
  </dependencies>

3)依赖(dependency):项目中要使用的其他资源

4)packaging:项目打包类型:有jar、war、rar

5)仓库:使用来存东西的,maven仓库存放的是

  1. maven工具自己的jar包

  2. 第三方的其他jar包

  3. 自己写的程序

    仓库的分类

​ 1.本地仓库(本机仓库):位于自己计算机的某个磁盘中,一般在C盘下

​ 修改仓库的位置:在settings.xml文件中:

<localRepository>D:/MavenIDEA/repository</localRepository>

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/c7b758e0e42d4f5084519855221ef454.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p-a56ia5aeQ5aeQ,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center

​ 2.中央仓库:一个ftp服务器,存放了所有资源

​ 3.中央仓库镜像:就是中央仓库的拷贝

	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>*</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>

​ 4.私服:在局域网中使用。私服就是自己的仓库服务器,在公司内部使用。

1.5Maven的生命周期,插件和命令

1)maven的生命周期:项目构建的各个阶段,包括清理、编译、测试、报告、打包、安装、部署。

2)插件:要完成构建项目的各个阶段,要使用Maven的命令,执行命令的功能是通过插件来实现的

单元测试Junit

单元:在Java中指的是方法。一个方法就是一个单元,方法是测试的最下单位。

网址:https://mvnrepository.com/artifact/mysql

使用单元测试:

1)首先加入单元测试的依赖

<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

2)maven的命令
  1. mvn compile:编译命令,执行代码的编译。

    ​ 插件是:maven-compiler-plugin和maven-resources-plugin。

  2. mvn clean:作用是删除以前生成的数据,插件是maven-clean-plugin

  3. mvn test:测试命令

  4. mvn package:打包,把项目中的资源class文件和配置文件放到一个压缩文件中,默认压缩是文件是jar。web应用是war类型、扩展是jar、war。插件是maven-jar-plugin

  5. mvn install:把生成的打包文件安装到maven仓库中

  6. mvn deploy:部署

1.6自定义配置插件

<!--设置构建项目相关的内容-->
<build>
	<plugins>
		<!--设置插件-->
        <plugin> I
			<groupId>org.apache.maven.plugins</ groupId>
            <artifactId>maven-compiler-plugin</artifactId>								<version>3.8.1</version>
				<configuration>
					<source>1.8</source> <!--指定编译代码的jdk版本-->
                    <target>1.8</target> <!--运行java程序使用的jdk版本-->
                    </ configuration>
		</plugin>
		</plugins>
</build>

第二章Maven和IDEA的集成

2.1idea中集成的maven

1.设置两处maven的属性
第一处在:File–》settings–>搜索maven,然后进行设置在这里插入图片描述
第二处:Settings for new projects—>找到maven在这里插入图片描述
在这里插入图片描述

2.创建一个空的工程,然后用模板创建java项目
在这里插入图片描述

2.用模板创建web项目

在这里插入图片描述

3.在web项目的pom.xml中添加依赖

    <!-- servlet的依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

    <!--jsp的依赖 -->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>

4.TomCat的部署

在这里插入图片描述
在这里插入图片描述

第三章依赖管理

依赖范围:使用scope表示依赖范围

依赖范围表示:jar和里面的类在项目的构建的哪个阶段中起作用

  • comlipe:默认,参与构建项目的所有阶段
  • test:测试,在测试阶段使用
  • provided:提供者。项目部署到服务器,不需要依赖Jar包

常用设置

1.properties

  <properties>
    <!-- 项目构建时使用的编码,避免中文乱码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--源代码编译时jdk的版本 -->
    <maven.compiler.source>1.7</maven.compiler.source>
    <!-- 运行代码的jdk版本-->
    <maven.compiler.target>1.7</maven.compiler.target>
    <!--生成报告的编码-->
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>

2.build

<bui1d>
<!--资源插件告诉maven把 src/main/java目录中的指定扩展名的文件拷贝到target/classes目录中。-->
 <resources>
	<resource>
       	 <!--所在的目录-->
        <includes>	
		<directory>src/main/java</directory>
		<!--包括目录下的. pr operties , .xm1文件都会扫描到-->
        <include>**/*.properties</include>
		<include>**/*.xm1</include>
		</includes>
		<!--filtering选项false 不启用过滤器,*.property已经起到过滤的作用了-->
		<filtering>false</filtering>
    </resource>
 </resources>
</build>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值