Maven笔记-创新互联

在cmd 中的命令:Maven笔记

编译项目:mvn compile

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站建设、朔州网络推广、微信平台小程序开发、朔州网络营销、朔州企业策划、朔州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供朔州建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

把所有的@test文件都编译一下并生成测试报告:mvn test

清除文件以前编译生成的文件:mvn clean

一般在打包的时候都要进行clean一下

打包:mvn package

手动把本地的jar安装到本地的仓库:mvn install(优点可以把service和dao抽取出来当成一个项目,然后安装到本地,其他的项目可以直接导入该架包)

打包的时候忽略test编译:mvn package -Dmave.test.skip=true

生成maven的骨架:mvn archetype:generate,然后即根据下面提示的信息进行设置groupid,artifactid,version,package

------------------------------------------------------------------

Maven的scope范围:

test:在测试的范围有效,在编译和打包的时候不会使用这个依赖

compile :变异的时候有效,编译和打包的时候会进行依赖进去

Provided:在编译和测试的时候有效,打包为war不会依赖进去,比如servle-api.jar ,因为这个包在tomcat中已经存在,如果再打包会有冲突

Runtime:运行的时候依赖,但是在编译的时候不会进行依赖。

默认的是compile

-------------------------------------------------

maven 的传递性:

b项目和c项目是独立的,并且进行mvn install生成jar,在a项目中引入b.jar,c.jar,这样的话a项目就拥有了b项目和c项目中的包。

maven的层次性质:

导入:


      junit
      junit
      3.8.1
      test
    
    
        my.maven
        user-core
        0.0.1-SNAPSHOT
    
    
        my.maven
        user-dao
        0.0.1-SNAPSHOT
    
    
        my.maven
        user-service
        0.0.1-SNAPSHOT
    

如果b项目和c项目种分别引入了log4j这个包,但是版本是不一样的,这时候就看在pom文件中谁先引入,就是那个版本的包,而且还有层级的关系影响引入。

除此之外导入项目包的时候,往往导入一个包就会传递很多的包进行,这时候我们可以相对性的忽略一些包的导入exclusions进行忽略

聚合:

使用一条命令就能操作很多的聚合项目:比如一个项目由user-service,user-dao,user-web来组成,其中service-web引入user-service和user-dao这两个项目,当我们编译项目的时候,不用一个一个进行编译,我们可以建立一个简单的maven项目(pom类型),其中简单的maven项目类型的pom文件如下配置:


  4.0.0
  my.maven
  user-combine
  0.0.1-SNAPSHOT
  pom
  
  
  
  
      ../user-dao
      ../user-service
      ../user-web
  
  
  
  
  

这样的话我们就不用单个去操作当子项目了,我们可以操作user-combine这个项目进行编译,因为在user-combine项目中已经把上面的三个子项目聚合在一起了。

 继承:

父项目pom:


  4.0.0
  my.maven
  user-combine
  0.0.1-SNAPSHOT
  pom
  
  
  
  http://maven.apache.org  
    UTF-8
    3.1.2.RELEASE
    3.8.1  
  
  
  
  
  
      ../user-core
      ../user-dao
      ../user-service
      ../user-web
  
  
  
  
      
          
          junit
          junit
          ${junit.version}
        
        
        
            org.springframework
            spring-context
            ${org.springframework.version}
        
        
      
      
  
  

子项目pom:


  4.0.0
  
  
      my.maven
      user-combine
      0.0.1-SNAPSHOT
      ../user-combine/pom.xml
  
  
  
  user-service
  
  jar

  user-service
  
  
  
    
      junit
      junit
    
    
        org.springframework
        spring-context
    
  

分享名称:Maven笔记-创新互联
URL地址:http://azwzsj.com/article/depoic.html