栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven复习,初步了解Maven的简单应用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven复习,初步了解Maven的简单应用

标题
  • 前言须知:
  • 你还有用过其它构建工具吗? 和maven有啥区别?
  • Maven好处、作用
  • Maven核心概念(尽量掌握)-----生命周期、依赖、仓库、插件等
  • maven下载、安装、配置、验证
  • maven解压及环境变量配置
  • Maven工程约定目录结构
      • 编译所有java文件命令:mvn compile
  • Maven仓库是什么(如何修改)、下载地址
  • 配置Maven工程的基础」DK版本
  • Maven中的pom文件---项目对象模型--必须掌握
  • Maven中的依赖范围
  • Maven常用命令
  • Maven插件
  • 单元测试
  • 配置Maven插件
  • maven插件自动生成API文档
  • 快速定位解决Maven依赖冲突
  • 搭建Maven私服
  • Maven在IDEA中的使用(必需学会)
  • Maven常用设置
  • 深入了解配置文件settings.xml、pom.xml

前言须知:

初学知道这么些内容就差不多了,等有时间在深入好好了解一下:

下面先了解一下常见的基本概念

Maven约定的工程目录:

Java开发领域普遍认同的一个观点:约定>配置>编码(能用配置解决的问题就不编码,能基于约定的就不配置)

你还有用过其它构建工具吗? 和maven有啥区别?

这个面试可能会问到

https://blog.csdn.net/qq_39213969/article/details/103199817

Maven好处、作用

我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。



Maven核心概念(尽量掌握)-----生命周期、依赖、仓库、插件等





maven下载、安装、配置、验证

下载、安装、配置、验证的流程:

也可参考我之前的博客(IDEA)安装配置maven项目准备阶段

官网下载地址

下面是最新的,目前用的较多的稳定版本是3.3.9
更多版本下载戳我


maven解压及环境变量配置

配置全局环境变量原因: 我们需要在指定pom文件的那一级目录运行maven 命令才行,不然报错没有这个pom文件,如果是聚合工程它的没个pom文件路径都不一样,因此配置全局变量重要性不言而喻。

环境变量这我提一嘴,这块window7/8跟window10有点不一样,
你是win7 win8 就是你打开path 是好多内容 这里 ;表示结束 你就在;的后面写%M2_HOME%bin; 即可


window10:


在命令行窗口查看Maven版本时,一般可能会出现如下问题原因:

所以必须要有JAVA_HOME

温馨提醒必要时以管理员身份运行cmd
1、配置前后不一致,拼写错误(你写的名称的跟Path保持一致)
2、你没配置JAVA_HOME
前面两个错误参考我之前博客地址
3、出现 Error: JAVA_HOME is set to an invalid directory.的解决方法(本人亲自遇到)
这个就是你jdk配置的问题:建议参考我上面博客地址,删除JAVA_HOME重新添加

记得重启cmd,有时候需要重启

其他参考:
直接复制jdk放在d盘, 路径就没有空格的问题了

Maven工程约定目录结构


或者通过命令查看

编译所有java文件命令:mvn compile

这块直接生敲一个简易maven工程,没有用开发工具,建议看一看,先学难的操作,使用工具的操作原理你就能快速明白

视频地址

注意命令执行的位置,pom的那级目录,否则不生效


执行命令后会下载东西,时间不等(几分、半小时)取决于你的网络
下载的是jar文件,里面全是java类。第一次要下载东西所以慢,之后在执行编译就不需要在下载就非常快。(仓库有对应的东西了就不在下载了)


运行验证一下

Maven仓库是什么(如何修改)、下载地址

我们上面说了,Maven默认仓库地址如下:

修改仓库地址如下:打开你的settings.xml文件

建议先备份,凡是修改都建议,给自己留条后路
(也可以不用创建此文件夹,运行mav命令时候会给你自动创建)

那么仓库是什么、放什么东西
而且下载的时候如果我们本地仓库已经有对应jar包文件,它就不用在去下载了




Maven中央仓库地址


    
    
        nexus-aliyun
        central
        Nexus aliyun
        http://maven.aliyun.com/nexus/content/groups/public
    

配置Maven工程的基础」DK版本

这个有两种方式,你可以在此xml配置如下

	
		jdk-1.8
		
			true
			1.8
		
		
			1.8
			1.8
			1.8
		
	


也可以在pom.xml

Maven中的pom文件—项目对象模型–必须掌握

构建项目、管理依赖都是通过此文件完成的


Maven中的坐标

Maven中的依赖范围



为什么不需要,比如说servlet,我们把项目方法tomcat运行,tomcat里面人家有个lib目录,里面已经提供了对应的jar,所以就不需要打包进去。也就是说最终服务器提供了的jar包是不需要的






Maven常用命令

体验命令请参考下面:单元测试(务必要看哦,那可是核心)

Maven插件

单元测试


下面注意一下路径保持一致(毕竟是生敲的,用IDEA就没这么麻烦)



看下图它用到了一个删除插件 ----删除位置Hello下的target 下面展示的很清楚

看下面这个编译,它用了两个插件

第一个插件,它实际上就是把我们主程序下那个resources下的所有配置文件copy到target/classes下

第二个插件 把编译的程序都放到target/classes下

编译成功只能说你编译了,不能证明你的程序是正确的,因为你还没执行你的方法,下面进行测试
编译测试的命令 mvn test-compile 跟上面编译的插件用的都是一个,只是编译的目标不一样
至于这里为什么会出现4个插件我下面在解释,注意往下看

上面表示所有的编译工作已经准备好了,该进行测试了
执行命令后发现编译了很多次(很多个插件)


原因:当你执行某一阶段命令,前面阶段的命令都会执行,
所以说如果你前面的命令报错,后面的命令更执行不了

下面会展示测试结果:执行方法的数量,是否成功、报错、跳过、时间
最终在返回测试结果

为了观察我们在之前的test在添加一个方法
重新执行命里 mvn test (这里不用执行 mvn test-compile我想你应该懂了)

测试没通过,你代码就没通过,测试结果会生成一个报告

把你的测试结果生成一个文件,便于查看

为了后续命令测试这里要改正确(你前面的命令报错,后面的命令更执行不了)

打包:其实就是把你项目中的类啊、配置文件啊,把它形成一个压缩文件,这样的话就一个文件,空间也小了,复制啥的也就方便了,便于管理、项目部署。
打包就是一个压缩文件的制作过程



但是你注意点开我们的这个jar对比着看看,它只有主程序里对应的内容,也就是它的目录结构只是 src/main/下的所有目录文件。

安装:就是把你上面打包的那个文件安装到本地仓库里面去,
安装到仓库中,你的别的项目就可以用它了,


前面是仓库地址 后面是pom文件坐标对应的文件夹

那其他项目如何使用我安装的jar呢,把你新项目的pom文件添加个坐标依赖就可以使用了

配置Maven插件

maven编译、打包啥的用的都是一个个插件,通过前面的命令你也能看出来。当然了你也可以配置你需要的maven插件,配置的地方在:pom.xml文件中设置。



注意这块maven插件很多的,你也不用记,直接百度你想用的插件,复制过来改改就行
maven 插件


如编译插件:


	org.apache.maven.plugins
	maven-compiler-plugin
	2.3.2
	
	
		1.8
		1.8
		UTF-8
	


源码打包插件


    org.apache.maven.plugins
    maven-source-plugin
    3.6.0
    
    
    
        
            
            package
            
                jar-no-fork
            
        
    



    
        src/main/java
        
            **/*.xml
        
    


生成jar包插件(agent开发使用)


    org.apache.maven.plugins
    maven-jar-plugin
    3.0.2
    
        
            
                true
            
            
            	
                
                    com.kaka.jtest.jdk.java.lang.instrument.VMAgent
                
                
                
                    com.kaka.jtest.jdk.java.lang.instrument.hotswap.ReplaceAgent
                
                
                    true
                
                
                    true
                
                D:Javajdk1.8.0_31libtools.jar
            
        
    



生成war包插件


    maven-war-plugin
    2.6
    
        webapp
        false
    



maven插件自动生成API文档

时间关系------感兴趣自己找视频网址学

快速定位解决Maven依赖冲突

https://blog.csdn.net/weixin_41973131/article/details/91891652

更多内容参考:

搭建Maven私服

时间关系------自己找视频网址学

Maven在IDEA中的使用(必需学会)

上面的这些命令内容你可以不会,只要在IDEA会点一点就行,但是它本质还是执行这些命令,所以尽量还是掌握一下命令的形式。

打开IDEA

两处都进行如下设置

加快项目创建 -DarchetypeCatalog=internal
每次创建项目时, IDEA 要使用插件进行创建,这些插件当你创建新的项目时,它每次都会去中央仓库下载,这样使得创建比较慢。应该创建时,让它找本地仓库中的插件进行创建项目。

IDEA创建Maven工程
先创建一个空的工程




这里使用模板创建一个普通java项目

注意下面这一块根据不同IDEA版本可能有差异,有的会让你一个个填写,有的写好你自己修改
第一种情况:

第二种情况:
可以在这里修改好

如果你上面没修改也可以通过如下方式修改


创建好后,模板已经为我们创建了对应的模板目录、文件,当然比如我们用的普通java项目模板,它没有给我们创建resources目录,如果你需要就自己创建目录,然后再标识一下即可
这块内容简单我不赘述,感兴趣请看对应视频

IDEA创建WEB工程
这块不懂得可以去看看视频我就不赘述了。

这里提示个技巧: 如你web项目打包会是一个war的压缩文件,为了方便查看里面的内容,你copy一份修改下后缀名如.rar,查看就很方便。

Maven常用设置



指定资源插件

上面resources作用

我这里大白话说一下: 就是你执行命令mvn compile,它默认只会处理主程序里的内容,
2个插件,一个编译java目录下的所有java文件,非java文件不编译,另一个插件复制resources下的所有文件。现在如果你需要把非java文件也编译那就得在标签里加上如上代码(修改自己想要的后缀)

深入了解配置文件settings.xml、pom.xml

Maven常用的核心配置文件包括全局配置文件settings.xml和项目配置文件pom.xml

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号