精华内容
下载资源
问答
  • Maven的主要功能

    千次阅读 2016-10-08 11:53:39
    链接:https://www.zhihu.com/question/20104186/answer/73797359目前笔者看到的Maven的主要功能是:项目构建;项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理; 由此可以看出Maven...

    作者:郭无心
    链接:https://www.zhihu.com/question/20104186/answer/73797359

    目前笔者看到的Maven的主要功能是:项目构建;项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理;
    由此可以看出Maven最主要的体现在了哪2个词?——对了,“项目”和“管理”!加在一起就是项目管理。项目管理是一个很抽象的概念。项目管理既可以指技术上的管理手段,也可以指“以人为本”的非技术因素。诚然,无论是技术还是非技术,项目的成败最大的责任人其实就是项目经理。这里我们抛开人为因素不提,仅就技术上来说,Maven提供了一种思想让团队更科学的管理、构建项目。用配置文件的方式对项目的描述、名称、版本号、项目依赖等等信息进行描述。使之项目描述结构清晰,任何人接手的成本比较低。在项目构建时,利用Maven的“约定大于配置”的思想,可以比Ant脚本构建项目省去不少配置文件的内容。而且一个项目可能依赖于其他的项目和第三方的组件才能顺利完成,Maven提供了仓库的概念,让这些依赖项放进仓库中,项目想要从仓库中去取,其他项目组也需要,OK,从仓库中去取,不必每个人去开源项目的站点去苦苦搜寻了。如此人员的成本、软件维护的成本、沟通的成本、硬件的成本都降下来了。客户笑了、公司老板也笑了、项目经理笑了、团队里面的人员也笑了、Apache社区看到这么多人在用也笑了。给笔者的感觉,现在的开源东西越来越向“敏捷开发”、“极限编程”的方向靠拢。通过Maven辅助管理项目,更能发现项目中哪些模块是重复的轮子。

    展开全文
  • Maven主要功能以及概念介绍

    万次阅读 2018-05-22 00:48:27
    Maven的主要功能 Maven是一种构建工具(打包项目)、依赖管理工具(资源依赖管理工具:主要用于集成资源)、项目信息聚合工具 项目的开发环境(eclipse中包含jre包、 j2ee包)、测试环境的部署(Tomcat部署...

    Maven主要功能以及概念介绍

    • Maven的主要功能
      Maven是一种构建工具(打包项目)、依赖管理工具(资源依赖管理工具:主要用于集成资源)、项目信息聚合工具

    这里写图片描述

    这里写图片描述

    这里写图片描述

    项目的开发环境(eclipse中包含jre包、 j2ee包)、测试环境的部署(Tomcat部署)是不一样的,主要体现在包的结构等
    之前是通过Ant进行打包部署,在其中写相应的脚本,告诉需要引用哪些包。
    Maven集成了Ant

    • Maven的核心概念
      1.坐标
      定位在中央仓库的位置,在pom文件中有详细定义

    这里写图片描述
    组成路径信息,从远程中央仓库获取资源,

    这里写图片描述
    2.依赖
    scope参数:依赖范围
    maven项目结构
    src目录下有main (主代码)、test(测试代码),与src同级的文件有个pom.xml
    这里写图片描述

    传递性依赖
    这里写图片描述

    排除传递性依赖(exclusion标签声明)

    这里写图片描述

    子项目在继承父项目时,用parent声明
    这里写图片描述

    3.仓库
    这里写图片描述

    这里写图片描述

    这里写图片描述
    先找本地仓库,再找远程仓库

    4.生命周期
    5.插件

    • Maven环境配置
      官网地址:
      www.apache.org
      这里写图片描述

    点击下载下载(注意jdk版本)
    这里写图片描述

    配置环境变量(必须依赖jdk,所以要求环境变量中有对应的JAVA_HOME)
    配置maven信息
    新建环境变量

    变量名:maven_home
    变量值 :对应安装路径
    这里写图片描述

    然后配置Path

    在之后添加 ;%maven_home%\bin;
    注意原来如果有;则不需要重复添加;(所有的变量用逗号分隔)

    这里写图片描述

    查看是否正常运行
    cmd下 输入
    mvn -v;
    这里写图片描述
    (maven的jdk版本和环境变量中配置的JAVA_HOME一致)

    java -version
    (可能与环境变量中的jdk版本不同)

    • *maven生命周期

    这里写图片描述

    最常用最上边两个
    每一个阶段都有相应的命令(执行命令之前的命令都会被默认执行)
    主要文件pom.xml

    src 目录分为:
    main:(主项目-开发用到)

    test:(测试项目)
    maven项目
    这里写图片描述
    cmd进入maven项目的路径下

    在maven安装目录下conf
    配置文件settings.xml

    本地仓库默认位置
    这里写图片描述

    这个路径往往需要修改
    在apache的安装同级目录下新建一个文件夹

    这里写图片描述

    配置本地仓库路径

    这里写图片描述

    在cmd的mavan项目路径下 执行

    mvn clean :如果项目之前做过相应的编译,则把编译的文件清除掉
    BUILD SUCCESS 成功clean

    编译命令
    mvn compile:大量下载远程资源jar包(需要的资源在pom.xml中定义)–资源下载有约束,也会报错,网络不通畅也会影响

    编译后,mavenLocalDB文件中有了内容

    这里写图片描述

    maven与eclipse等开发平台集成,可以方便的引用资源jar包

    compile 完成之后 说明资源以下载,而且说明正确编译 而且在maven项目的文件夹中多了一个文件target

    这里写图片描述

    target中主要存放class,即编译后的文件

    这里写图片描述

    测试优先,大型项目 团队成员更新代码后,要做maven test,以保证更新的代码正确

    主要执行maven项目src\test的内容,而maven compile编译的是maven项目\src\main中的内容

    下载test需要的包(测试框架的包)
    测试包出错 BUILD FAILED(注意错误内容)

    spring 4测试框架 可能会报缺少插件
    这里写图片描述
    最低版本满足 jdk1.8 18

    这里写图片描述

    所以要更改jdk版本

    不同版本的maven下载资源时可以重用(注意maven版本和jdk版本之间的关系)

    mvn install :形成一个war包可供发布(打包的实质就是整合jar包外部资源和编译的class产生可运行的war包,可以tomcat或者weblogic上部署运行)
    需要下载大宝的工具文件,第一个打包会比较慢,第二次打包会更快(因为打包资源已下载好)

    打包后生成的war包在maven项目目录的target下边
    此处为spring项目 ,war包拷贝到tomcat目录下边可直接运行

    这里写图片描述

    Maven常用命令

    mvn clean:清除以前编译的代码,删除target目录和相关内容删除

    mvn compile : 编译项目主目录下边的代码(main下的代码)–下载main相关代码依赖的外部资源

    mvn test :编译项目主目录下边的test代码(编译test之前一定编译main代码,保证main正常编译成功)–下载test依赖的外部资源 前提需要执行mvn compile(若不主动执行,命令会自动执行mvn compile)

    mvn install: 把编译好的class文件和下载的jar都打成一个完整的*.war文件,直接使用war包可以进行部署

    • Maven与开发环境eclipse集成
      1.比较maven项目和普通eclipse中web项目的区别
      这里写图片描述

    所谓的eclipse项目其实就是多了一些项目的管理文件
    比如.classpath 、.project 、.settings文件夹等
    而maven项目只有src 、pom.xml

    这里写图片描述

    通过命令可以给maven项目生成eclipse配置信息

    cmd下进入到maven项目的路径下

    mvn eclipse:eclipse :运行此命令可以给maven项目生成eclispe需要的项目管理文件

    运行后目录结构发生变化

    这里写图片描述

    用eclipse打开构建后的项目

    这里写图片描述

    开发结构其实无所谓

    真正的项目运行是部署在tomcat服务器上的
    部署结构和开发结构不同的 比如:
    这里写图片描述

    maven项目在eclipse中的开发结构

    这里写图片描述

    可能会报错

    资源jar包引用可能会出现问题,是由于路径引用错误导致的,缺少jar包

    这里写图片描述

    所以要修改默认c盘的路径

    在eclipse中配置 查看maven版本
    拷贝maven安装目录的配置文件 路径
    这里写图片描述

    设置eclipse中默认的jar引用路径信息
    这里写图片描述

    修改后
    这里写图片描述

    可能由于在eclipse中jdk版本不一样,maven也会报错

    maven项目中的pom.xml中声明了jdk版本

    这里写图片描述

    在eclipse中单独设置jdk 换成jdk1.7 指明已安装的jdk

    此时maven项目在eclipse中不会报错
    可以对maven项目在eclipse中进行修改

    在cmd下进行编译、测试以及打包

    pom.xml中也声明了服务器部署的环境版本等
    这里写图片描述

    jetty:与tomcat同样功能的一个内置的serveltCotainer容器,实质也是Servlet容器

    注意 :此文用的maven项目是springMVC的一个测试项目


    展开全文
  • 在java开发中,我们都会用到...Maven的主要功能是多模块构建、依赖管理系统、一致的项目结构、一致的项目构建模型和插件机制。在此,我将以这5点来做一个区分。1.0多模块构建在现在的项目中,一般我们会将一个项目分...

    在java开发中,我们都会用到一些构建工具,常用的构建工具有Ant、Maven、Gradle。经过这么多年的发展,终于Ant几乎快销声匿迹了,Maven和Gradle在项目开发中用得比较多,其中以Gradle发展得最好。

    2f48e35b03da2ac8f85d5396b7cb68d2.png

    Maven的主要功能是多模块构建、依赖管理系统、一致的项目结构、一致的项目构建模型和插件机制。在此,我将以这5点来做一个区分。

    1.0多模块构建

    0f9a714c9cd78f301e5668aee55e8927.png

    在现在的项目中,一般我们会将一个项目分解是多个模块。在Maven中需要定义一个parent POM作为一组module的通用配置,我们可以用标签来定义一组子模块

    在Gradle也支持多模块构建,在parent的build.gradle中可以使用subprojects和allprojects定义所有的子模块。对于子模块的定义可以放在setting.gradle文件中。

    2.0依赖管理系统

    2b6df5c4de564b2a6dd534736a17448d.png

    在Maven中,可以用GroupID、ArtifactID、Version组成一个唯一的标识。任何Maven项目都必须要定义这三个属性。GroupID相当于package,ArtifactID相当于Class。

    Gradle支持动态的版本依赖,在版本号后面使用+号可以实现动态的版本管理。

    3.0一致的构建模型

    f1b913ad6947b65b1c478d37587fe706.png

    Maven设置了标准的项目周期,包含验证、初始化、生成原始的数据、处理原始数据、生成资源、处理资源、编译、处理类。。。。等等。而Gradle更加的灵活,可以创建一个task,并随时通过depends建立与已有task的依赖关系

    4.0一致的项目结构

    e2c37b902f7d8945501d8b6b8a7fe749.png

    Maven指定了一套标准的项目结构作为java项目结构,Gradle也是沿用了这套标准。在Gradle中只需在文件中包含applyplugin:'java',系统既可以自动识别

    5.0插件机制

    两者都采用了插件机制

    展开全文
  • 在java开发中,我们都会用到...Maven的主要功能是多模块构建、依赖管理系统、一致的项目结构、一致的项目构建模型和插件机制。在此,我将以这5点来做一个区分。1.0多模块构建在现在的项目中,一般我们会将一个项目分...

    在java开发中,我们都会用到一些构建工具,常用的构建工具有Ant、Maven、Gradle。经过这么多年的发展,终于Ant几乎快销声匿迹了,Maven和Gradle在项目开发中用得比较多,其中以Gradle发展得最好。

    7c84f72fa905a1ac70c74f0684f50892.png

    Maven的主要功能是多模块构建、依赖管理系统、一致的项目结构、一致的项目构建模型和插件机制。在此,我将以这5点来做一个区分。

    1.0多模块构建

    4b15966c43cb6d9bba1f452070a09aab.png

    在现在的项目中,一般我们会将一个项目分解是多个模块。在Maven中需要定义一个parent POM作为一组module的通用配置,我们可以用标签来定义一组子模块

    在Gradle也支持多模块构建,在parent的build.gradle中可以使用subprojects和allprojects定义所有的子模块。对于子模块的定义可以放在setting.gradle文件中。

    2.0依赖管理系统

    a08af1ad3549b55cc7dcd85140a609e0.png

    在Maven中,可以用GroupID、ArtifactID、Version组成一个唯一的标识。任何Maven项目都必须要定义这三个属性。GroupID相当于package,ArtifactID相当于Class。

    Gradle支持动态的版本依赖,在版本号后面使用+号可以实现动态的版本管理。

    3.0一致的构建模型

    d79a54c5e7f1aeb28e139465052af5ff.png

    Maven设置了标准的项目周期,包含验证、初始化、生成原始的数据、处理原始数据、生成资源、处理资源、编译、处理类。。。。等等。而Gradle更加的灵活,可以创建一个task,并随时通过depends建立与已有task的依赖关系

    4.0一致的项目结构

    bfb9508377f54f091b78de153f20efa7.png

    Maven指定了一套标准的项目结构作为java项目结构,Gradle也是沿用了这套标准。在Gradle中只需在文件中包含applyplugin:'java',系统既可以自动识别

    5.0插件机制

    两者都采用了插件机制

    展开全文
  • Maven的依赖管理功能

    2020-08-25 22:20:14
    依赖管理是Maven 中最关键部分,我们使用 Maven主要的就是使用它依赖管理功能。 什么是依赖 当 A jar 包用到了 B jar 包中某些类时,A 就对 B 产生了依赖,这是概念上描述。在Maven工程中,只需要在pom...
  • 手把手maven的功能/安装/使用/idea集成

    万次阅读 多人点赞 2019-10-11 20:13:04
    不管如何介绍maven,作为使用者来说,主要感觉两个方面有帮助: 1)帮助构建项目 2)管理jar包 仓库(存放构件位置) 本地仓库: 默认是 ~/.m2/repository 这个波浪线,代表家目录,对于win10而言,也...
  • Maven的主要功能是:依赖管理系统、多模块构建、一致的项目结构、一致的构建模型和插件机制。maven使用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖。任何基于Maven构建的项目自身也必须...
  • 目录 1.Maven介绍 2.Maven的安装配置 3. Eclipse创建Maven项目 4.IntelliJ IDEA创建Maven项目 ...很多公司的很多新项目都采用Maven提倡的方式进行管理,Maven的主要功能是:项目构建、项目构建、项目依赖管...
  • Maven

    2020-12-21 16:57:38
    Maven的主要功能分为以下几点: ① 依赖管理系统 ② 多模块构建 ③ 一致的项目结构 ④ 一致的构建模型和插件机制 2.项目为什么要使用Maven构建? 首先,Maven是一个优秀的项目构建工具,使用Maven可以很方便地对项目...
  • maven

    2019-03-29 10:19:51
    Maven的主要功能 Maven是一种构建工具(打包项目)、依赖管理工具(资源依赖管理工具:主要用于集成资源)、项目信息聚合工具 项目的开发环境(eclipse中包含jre包、 j2ee包)、测试环境的部署(Tomcat部署)是...
  • idea2020.1之后版本去掉了自动导包的功能主要是为了防止idea里面编写pom.xml时候,还没编写完,然后触发自动导包的功能,导入了错误包 视频解释参考 Intellij IDEA 2020居然不能自动导入Maven依赖了! ...
  • Maven的主要功能是:依赖管理系统、多模块构建、一致的项目结构、一致的构建模型和插件机制。maven使用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖。任何基于Maven构建的项目自身也必须...
  • 以下是Maven的主要特点: 遵循最佳实践的简单项目设置 - 在几秒钟内启动新项目或模块 所有项目的一致使用 - 意味着新开发人员进入项目的时间不会增加 卓越的依赖管理,包括自动更新,依赖关闭(也称为传递依赖...
  • 几个项目一起做,对于jar包的管理是个头疼的问题。然后就寻找到了Maven 工具。不深究原理,只要求会用的话,这篇文章起到的...Maven的主要功能是:项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站...
  • Maven的学习

    2019-09-24 19:09:29
    Maven的学习(没蚊) 本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 与maven功能类似的技术,ant,git 一.什么是maven maven...
  • maven的使用

    2019-03-01 00:31:03
    maven的核心功能在于pom.xml文件对jar包的依赖、继承、管理。 一、maven管理目录 二、安装配置 主要是配置中央和本地仓库 三、创建一个maven——springboot工程 1.pom.xml核心:继承父类工程版本控制、...
  • maven的一些话术总结

    2020-12-22 09:44:47
    Maven的主要功能分为几点; 1.依赖管理系统 2.多模块构建 3.一致的项目结构 4.一致的构建模型和插件机制 2.项目为什么要使用maven构建? Maven是一个优秀的项目构建工具,使用maven可以很方便的堆项目进行分模块构建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,469
精华内容 587
关键字:

maven的主要功能是