Maven入门教程

引言

maven是一个项目管理工具,由最初的ant进化而来。虽然目前最新的是gradle,但是maven还是流串于各大公司的代码中(如springboot的源码管理)。因此,对于初学者来说,学会使用使用maven是对于后期成长非常有帮助的。
这里推荐慕课网上的maven基础课程,有空的同学一定去学一学,能够查缺补漏(https://www.imooc.com/learn/443)

项目基本架构

maven推崇的是约定大于配置,利用maven搭建的项目一定是如下的结构:


图1.代码结构图
* src
  * main
    * java
      * com.xxx(java代码)
    * resources 
      * xxx(资源文件)
  * test
    * javaxx (java测试代码)
* pom.xml
pom文件的基本介绍



    
    4.0.0

    
    com.yuxun.fantuan
    
    fantuan-parent
    
    
    2.6.0-SNAPSHOT
    
    pom
    
    
    
    
    
    
    
    
    
    
    
        3.8.1
    
    
       
          junit
          junit
          4.10
       
    
    
    
       
          
          
       
    

    
       
       
          
             
             
             
          
       
    
    
    
    
    
       
    

其中groupId,artifactId,version三者称之为坐标

maven常用的命令

mvn -v 查看maven版本
mvn compile 编译
mvn test 测试
mvn package 打包
mvn clean 删除target
mvn install 将代码打包成jar包到本地仓库中
mvn archetype:generate 创建maven目录架构
mvn archetype:generate -DgroupId=组织名,公司网址的反写+项目名
-DartifactId=项目名-模块名
-Dversion=版本号
-Dpackage=代码所存在的包名

maven配置文件的修改

conf下面的setting文件里面的localRepository标签是存在jar包的位置
mirrors标签是镜像地址

maven依赖仲裁

  • maven依赖冲突——短路优先
    1.A -> B -> C -> X(jar)
    2.A -> D -> X(jar)
    优先选择路径短的,所以优先选择2
  • 相同路径的情况下,哪个dependency在前就是引用哪个。

maven 的区别

参考网址:https://blog.csdn.net/liutengteng130/article/details/46991829
同时阿里巴巴java开发手册里面有这么提到:

8.【推荐】所有pom文件中的依赖声明放在语句块中,所有版本仲裁放在语句块中。
说明:里只是声明版本,并不实现引入,因此子项目需要显式的声明依赖,version和scope都读取自父pom。而所有声明在主pom的里的依赖都会自动引入,并默认被所有的子项目继承。

maven 的一些常见问题

1.打包成pom文件和打包成jar文件,zip文件有什么区别呢?
答:pom,pom文件打包最后就是pom文件,丢到私服上面就是pom文件。同时该模块下面的module又会进行相应的打包,根据他们的格式打包成相应的文件。
2.mvn 的dependeny命令是做什么的?
答:mvn clean dependency:copy-dependencies -DoutputDirectory=lib 把当前的pom文件中的依赖给下载下来。
3.maven 标签的作用?
答:


    
    
       
          xx
          jetty
          xx
          
            
                
                package
                
                    run
                
            
        
      
  

4.maven私服是什么东西?
答:maven我们都知道会去中央仓库去下载依赖到本地,这样就能引入到项目中。但是,我们自己的项目不一定会开源,上传到的地方不必要向所有人展示,所以要搭建自己的私人服务器。我们可以通过修改配置,先去私服上下载maven依赖,当从私服上找不到的时候就会去中央仓库中下载。一般使用nexus搭建maven私服。具体的搭建方法百度一下就有很多了。

你可能感兴趣的:(Maven入门教程)