Maven学习 一

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29807745/article/details/53374254

1.1. 什么是maven

            Maven是基于项目对象模型(POM Project Object Model),可以通过一小段描述信息(配置文件)来管理项目的构建,报告和文档的软件项目管理工具(依赖管理工具和项目信息管理工具)

1.2 Maven主要功能

           1. 方便的项目发布(生命周期)--自已从没有到有的过程。

           2. 在多个项目中共享JAR (项目之间(jar)依赖关系) --自已对别人关系

           3. Maven是一个项目管理工具,它包含:

                           一个项目对象模型 (Project ObjectModel) 一个项目它由一个pom.xml来构建出来(至少有一个pom.xml).

                           一组标准集合 在配置文件中,进行一系列的配置才能使用。

                           一个项目生命周期(ProjectLifecycle) :

                                           清理、编译、测试、报告、打包、部署

                           一个依赖管理系统(DependencyManagement System)

            4. 使用前提:

                         当通过配置文件确定依赖关系之后,maven将自动从指定的位置(互联网)下载需要项目(jar包)。第一次使用maven,需要联网。

            5. 思想:

                        约定优于配置的思想

2.1 Maven安装

             2.1.1.   下载网址

                           http://maven.apache.org/download.cgi

             2.1.2    配置maven_home

                          1.  在系统环境中创建  MAVEN_HOME   填写maven在电脑安装目录的绝对路径

                          2. 在系统环境path中加入%MAVEN_HOME%\bin;(同配置JDK方法,注意英文输入法)

             2.1.3   测试是否安装成功

                          cmd命令输入 mvn -v (如显示maven home等信息则表示安装成功)

             2.1.4   settings.xml 配置介绍  (maven的配置文件)

                         <localRepository> 配置本地仓库的目录(会优先搜索本地仓库)

                         <interacticeMode> 是否需要和用户交互获得输入. 如果Maven需要和用户交互获得输入, 则设置未true , 反之false (默认为true)

                         <offine> 是否需要在离线模式下运行

                         <pluginGroups> 插件组. 默认情况下改列表包含 org.apache.maven.plugis

                         <proxies>通过代理访问外部库

                         <servers>配置服务端的设置, 例如: 安全认证

                         <mirrors> 镜像库, 确定使用的仓库

             2.1.5  maven名词解释

                         Project : 任何你想bulid的事务, Maven都认为它是工程, 这些工程被定义未工程对象模型. 一个工作可以依赖其他的工程; 一个工程也可以由多个子工程构成.

                         Pom : 是Maven的核心文件,它是指示Maven如何工作的元数据文件, 类似与Ant()中的build.xml (POM文件位于每个工程的根目录中)

                         Groupid : groupid是一个工程在全局中唯一的标识符, 一般的, 它就是工程名. groupld有利于使用一个完全的包名, 将一个工程从其它有类似名称的工程中区分出来

                             (全局唯一的标识符 , 工程名)

                          Artifact : artifact 是工程将要产生或需要使用的文件, 它可以是jar文件, 源文件, 二进制文件, war文件, 甚至是pom文件. 每个artifact 都由groupld和artifactld组合的 标 识符唯一识别. 需要被使用(依赖)的aftifact都要放在仓库(Repostory)中, 负责Maven无法找到(识别)它们. (工程名称 / 依赖查找路径->本地仓库->中央仓库)

                          Dependency : 为了能够build或运行 , 一个典型的Java工程会依赖其它的包(jar). 在Maven中, 这些被依赖的包被称为dependency. 一般是其它的工程artifact.

                          Repository : 仓库(maven的默认路径 : C:/Repository )

             2.1.6  通过命令行构建maven项目

                                常用的maven命令指令(执行打包命令时会自动执行前面的操作)

                                           在cmd下使用命令,必须在项目的根目录下进行,及可以看到pox.xml

                                      * 编译

                                                    mvn compile

                                      * 测试

                                                   mvn test    //运行测试 , mvn test -Dtest=${类名} //单独运行测试类

                                      * 清除

                                                  mvn clean  //将清除原来编译的结果

                                       * 打包

                                                  mvn package , mvn package -Dmaven.test.skip=true  //打包时不执行

                                       * 安装发布

                                                 mvn install //将项目打包成结构安装到本地仓库

                                                 mvn deploy  //发布到本地仓库或服务器(例 : tomcat ,jboss)

                                                           发布到仓库时的地址讲解 : 例子 C:/repository/cn.ckuiry.maven.quickstart/simple/0.1.1-sanshot

                                                                                                           : 本地仓库地址                  : groupid (全局工程名称)

                                                                                                           蓝 : 项目名称                          绿 : 版本

              2.1.7  maven工程转换

                                  在maven工程目录下(可见pom的目录中运行cmd ---> 执行对应命令)

                                                  -- 转换Eclipse工程

                                                           * mvn eclipse : eclipse

                                                           * mvn eclipse : clean   //清除Eclipse设置信息

                                                  -- 转换IDEA工程

                                                           * mvn idea : idea

                                                           * mvn idea : clean //清除idea设置信息

                                                  -- 显示一个插件的详细信息(configuration , goals等):

                                                          *  mvn help:describe -Dplugin=pluginName -Ddetail

3.1 Eclipse整合Maven (4.4及以上自带Maven)

               3.1.1   Window -->Preferences -->Maven --> Installations (默认是没有Name为apche-maven)  -->右边Add选择你Maven安装目录找到能看见pom的目录Finish (一定要勾选并保存)

               3.1.2    Window -->Preferences -->Maven --> User Settings (这里是Maven的配置文件, 找到安装目录中 conf\settings.xml  --> Update Settings  -->Reindex(建本地仓库建立索引))

               3.2.1    Eclipse创建工程   

                                          File --> new --> Maven Project  

                                                         创建java项目       -->  Artifact ID    选择 maven -archectype -quickstart  直接下一步即可 (不推荐)

                                                         创建web项目        -->  Artifact ID    选择 maven -archectype -webapp 直接下一步即可 (不推荐)

                                                         自定义项目(maven项目)    创建Maven项目时勾选首页的 Create a simp;e project (skip archetype selection)   -->下一步界面跟之前的略有不同Packaging下拉框中的 jar , pom , war 分别表示 java项目 ,  maven项目  , web项目    只需填写前4项即可创建项目,由于需要去下载jar第一次创建有点慢.

               致此maven项目已创建完成 可根据需要在pom中依赖jar直接使用.



                          


                                                                                                        

            







猜你喜欢

转载自blog.csdn.net/qq_29807745/article/details/53374254