maven基础

mvn标签

反写公司网址+项目名称

项目名称+模块名称

前面一般有三位数组

第一位标示大版本号

第二位标示分支版本号

第三位标示小版本号

0.01

snapshot快照

alpha内部测试

beta公测

Release稳定

GA正式发布


0.01snapshot

默认是jar

还可以是:war zip pom


项目描述名称

项目地址

项目描述

开发者列表

项目的证书

公司组织


scope的集中选择

1compile:默认范围,编译测试运行都有效

2provided:编译测试时都有效

3runtime:测试运行时有效

4test:只在测试时有效

5system:与本机系统相关联,可移植性差

6import:导入的范围,它只是用杂dependencyManagement中,标示从其他的pom中导入dependency的配置

设置以来是否可选,true标示可以从父亲那继承得到,false表示需要显示的声明

排除依赖传递列表


         


依赖管理,用在父pom文件中,该配置在运行时不起作用,当子pom文件能拿到这些依赖,子pom文件配置依赖的时候不需要写version,一般父pom文件的属性会设置为pom


插件列表


定义一些配置,比如环境变量等



如果maven中发现了连个相同的jar包,版本不同

最短路径优先

先声明优先



maven几个阶段

mvn compile 编译

mvn test  测试

mvn package  打包

mvn clean 删除target目录

mvn install  安装jar包到本地仓库


将maven_home\bin配置到path路径下,在maven项目目录下运行mvn dependency:tree可查看jar包依赖树


mvn archetype:generate 生成mvn项目骨架

mvn archetype:generate -Dgroupid= xxx   -DartifactId=xxx   -Dversion=xxx -Dpackage=xxx

-src

     -main

          -java

              -package

   -test 

         -java

               -package


仓库

本地仓库  在maven安装目录下的conf/setting.xml 中配置  d:\\.m2\repository

中央仓库  在maven_home/lib/maven-model-builder-3.3.9.jar 里面有个org/apache/maven/model/pom-4.0.0.xml文件,它定义了maven的中央仓库


   
      central (中央参考的唯一标识)
      Central Repository (参考名称)
      https://repo.maven.apache.org/maven2 (仓库地址)
      default   (布局)
     
        false  (是否允许下载快照版本)
     

   

 


有时候仓库在 国外,或者由于某种原因访问不到,可以为该参考设置镜像,那么以后访问的时候就访问镜像仓库地址

镜像

 

 
      CN
      OSChina Central
      http://maven.oschina.net/content/groups/public/
      central
   

 

一般用阿里云的镜像


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

激活profile

 
    repo2
osc

 

如果有两个profile处于激活转态,那使用mvn compile的时候 会用哪个profile呢,答案是会使用定义靠后的那个,比如,repo2和osc,两个都处于激活转态,因此mvn编译的时候选用定义靠后的那个



maven 下载依赖的源代码

 mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true 



maven 配置conf.xml 模板









  
d:\\.m2\\repository
  


  


  
  
    
  


  
  
    
  


  
  
    


    
	
	 
      releases
      username
      password
    
	
      sf-nexus-releases
      username
      password
    
   
      snapshots
      username
      password
    
  


  
  
    


     
  
 


  
  
    


    
	
   
      sf-nexus-repos
	  
            true
      
      
        
          nexus
          http://nexus.sf-express.com/nexus/content/groups/public/
          true
          true
        
      
     
        
          nexus
          http://nexus.sf-express.com/nexus/content/groups/public/
          true
          true
        
      
    




	
            repo2
            
                false
            
            
                
                    Nexus aliyun
                    http://maven.aliyun.com/nexus/content/groups/public
                
            
            
                
                    Nexus aliyun
                    http://maven.aliyun.com/nexus/content/groups/public
                
            
        


     
    jdk18  
      
        true  
        1.8  
      
      
        1.8  
        1.8  
        1.8 
          
        UTF-8  
        UTF-8  
          
        UTF-8  
       
  




  


 




  
  
    repo2
	sf-nexus-repos
  


你可能感兴趣的:(maven)