文档章节

Maven

weslie
 weslie
发布于 2015/06/29 13:55
字数 1595
阅读 116
收藏 0

一、Maven简介与下载

        1、maven是apache组织下的一款开源项目,它的作用是帮助我们去很好的管理项目

       2、maven官网:http://maven.apache.org

       3、maven的下载:http://maven.apache.org/download.cgi 

          

      4、maven目录结构介绍

          

 

二、Maven的安装与配置

      1、配置MAVEN_HOME

         

     2、配置path

         

     3、查看Maven是否配置成功

           如果不配置Maven的环境变量将不能在DOS下执行相关操作
        

         

三、Eclipse配置Maven

        1、Eclipse:Window >> Preferences >> Maven >> Installations

                 

 

       2、Eclipse:Window >> Preferences >> Maven >> User Setting【必须先配置Maven本地仓库】

                 

              图片演示的地址跟说明的地址不一样,只要指向你自己本地仓库中的setting.xml就可以,至此Eclipse的Maven配置已完成

      4、创建Maven项目

              有俩种方式

            (1)  Eclipse:New > Other  搜索Maven  > Maven Project > 勾选 Creat a simple project > Next
                       

                     输入groupId和artifactId >> Finish

           (2)Maven项目结构介绍

                 

     5、Eclipse运行Maven项目,选择项目或项目下的pom.xml文件 >> 右键 >> Run As >> Maven build >> 输入要执行的Maven命令

     6、Maven项目发布到私服

          (1)设置镜像,在本地仓库setting.xml中,找到mirrors,添加私服仓库的镜像

                 

          (2)设置server,在setting.xml中,找到servers,进行如下配置

                 

          (3)设置pom.xm

                 

           (4)对项目执行clean deploy命令【你的私服仓库必须配置正确才能成功发布到私服仓库】

 

四、Maven命令

       mvn -clean:运行清理操作,会默认清掉target目录

       mvn -clean compile:先运行清理再进行编译,会将代码编译到target文件夹中

      mvn -clean test:运行清理和测试

      mvn -clean package:运行清理和打包

      mvn -clean install:运行清理和安装,会将打好的包安装到本地仓库中

      mvn -clean deploy:运行清理和发布,会发布到私服

      mvn -compile:编译

五、Maven坐标

      Maven坐标元素包括:groupId、artifactId、version、packaging、classifier

      groupId:定义当前Maven项目隶属的实际项目的名称,

      arifactId:该元素定义实际项目中的一个Maven项目,推荐命名格式:“实际项目名-模块名”

      version:定义项目当前的版本

      packaging:定义项目打包的方式。jar、war、pom

      classifier:定义构建输出的一些附属构建,比如项目的文档附件

     所有的依赖都是通过坐标(GVA)来进行存储,GVA是groupId、version、artifactId的缩写

 

六、nexus搭建Maven私服仓库(Windows系统)

     1、在你服务器上安装配置好Maven,安装配置见上面第二点

     2、安装Nexus

          (1)Nexus下载:http://www.sonatype.org/nexus/go 

         (2)Nexus环境变量配置:

                   变量值指向nexus解压目录下的bin目录

                   

        (3)Nexus安装

                  修改端口号:在nexus安装目录conf下打开nexus.properties文件,修改application-port属性值即可

                  以管理员身份打开命令窗口,输入nexus install,然后输入nexus start

                 出现nexus started表示安装成功

                

                 

        (4)Nexus登录

                  Nexus访问地址:localhost:8081/nexus

                 管理员帐号登录:admin/admin123

       (5)Nexus仓库介绍

                 1)Hosted仓库,内部项目的发布仓库

                              Releases:是内部模块中release模块的发布仓库

                             Snapshots:发布内部SNAPSHOTS模块的仓库

                             3rd party:第三方依赖仓库,这个数据通常是由内部人员自行下载之后发布的

                2)proxy仓库,从远程中央仓库中寻找数据仓库

                3)group仓库,组仓库,用来方便开发人员设置的仓库

      (6)创建私服仓库

             先登录进Nexus

            (1)点击左侧Repositories,然后添加一个本地仓库Hosted Repository

                             

            (2)设置仓库

                             

七、Maven依赖

      1、 依赖就是指该项目所需要依赖的一些jar包

      2、怎么添加依赖 ?

            

     3、依赖的类型

           依赖的类型有<packaging>来定,<packaging>的默认值是jar,另还有war、pom类型

     4、依赖的范围

          (1)compile范围指在编译范围有效、在编译和打包时都会将依赖存储进去(默认)

         (2)test范围是指的是测试范围有效,在编译和打包时都不会使用这个依赖

         (3)provided范围是指在编译和测试的过程有效,最后生成war包时不会加入,例如:servlet的API,因为servlet-api,

                 tomcat等web服务器已经存在了,如果再打包会冲突

         (4)runtime范围是指运行时依赖,编译时依赖

         (5)import导入依赖范围

         (6)system系统依赖范围

                  compile >> test >> package >> install

    5、依赖传递性  

            (1)如果A依赖于B,B依赖于C,那么A就依赖C,这就是传递性依赖

           (2)如果A依赖于C1.0,B也依赖于C1.1,而D依赖于A和B,那么如果A写在前面就会调用C1.0,如果是B写在前面就会调用C1.1

    6、可选依赖

         比如以下情况:

        B是一个持久层隔离工具包,它支持多种数据库,包括mysql,oracle等,在构建这个工具包的时候,需要这俩种数据库的驱动程序,但只会依赖一种数据库,

         这时就可用可选依赖

        

   7、排除依赖

        基于依赖的传递性,子类中如果不想引入传递性的某个依赖A,而是自己直接显示的声明对A的依赖,可使用<exclusion>进行排除依赖

        

    8、依赖的聚合

        聚合的项目和其他项目在同一级模块中需要使用 . ./ 项目名

        

 

八、Maven仓库

   1、创建本地仓库

        1)在D盘创建一个目录作为Maven的本地仓库,如d:/maven-store/repository

         2) 将maven安装目录config下的setting.xml复制到d:/maven-store目录下

               

        3)打开本地仓库中的setting.xml增加以下内容

               

   2、修改远程仓库

               

 

 

dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

 

 

 

© 著作权归作者所有

weslie
粉丝 1
博文 51
码字总数 80088
作品 0
虹口
程序员
私信 提问
【Maven3教程】配置开发环境以及安装Eclipse的Maven插件

一:设置Maven本地仓库 Maven默认仓库的路径:~.m2repository,~表示我的个人文档;例如:C:UsersEdward.m2repository;如下图: Maven的配置本地仓库的文件路径:E:Mavenapache-maven-3.0.5...

Auhgnahz
2016/05/19
440
0
Maven常用插件列表

插件名称 用途 来源 maven –clean -plugin 清理项目 Apache maven –compile -plugin 编译项目 Apache maven –deploy -plugin 部署项目 Apache maven –install -plugin 安装项目 Apache m......

醉公子
2016/05/20
158
0
Maven 错误笔记

Multiple annotations found at this line: - CoreException: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-compiler-plugin:3..0.5 or one of its dependencies......

很好亦平凡ms
2016/07/22
313
0
Maven 3.0 正式发布

You can download Maven 3.0 now! http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0-bin.zip http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0......

YANGL
2010/10/09
905
2
[Maven-不忘初心,方得始终] Maven-项目管理与构建

Maven课程概述: Maven快速入门 Maven核心知识 Maven建立web项目 1. Maven快速入门 Maven介绍及环境搭建: Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档...

LSantorini
2016/02/14
154
0

没有更多内容

加载失败,请刷新页面

加载更多

Centos6.6 安装ffmpeg视频工具

1.安装前置工具 yum -y install gcc cc cl libmpc*//后续失败的话,自己补充自己的缺少的包 2.安装yasm 1)下载wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz...

小海bug
8分钟前
1
0
电商的支付风控怎么玩?

qwfys
13分钟前
5
0
用什么来做用户行为分析?七个实用工具推荐给你

当企业进入数据化管理阶段之后,就不得不对用户进行行为数据分析,当然其他的包括用户画像、趋势分析等等,都是现在企业经常要进行的营销分析,因此选一个好的数据分析工具是很重要的。 而现...

朕想上头条
14分钟前
3
0
Java mysql连接

import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.Connection; public class T { public static void main(String[] args) throws SQLException, Insta......

林词
14分钟前
3
0
Select 选择器 的一些官网没有的用法

一、拼接字符串 <el-option v-for="(item, index) in reagentOptions" :key="index" :label="item.sjlxmc+' '+item.sjbm" :va......

沉迷代码我爱学习
15分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部