我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java中maven是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java中maven是什么

这篇文章主要介绍了java中maven是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Maven定义

            Maven 是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model), 一组标准集合, 一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用 Maven 的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

             在没有自定义的情况下,源代码假定是在 ${basedir}/class="lazy" data-src/main/java,资源文件假定是在${basedir}/class="lazy" data-src/main/resources 。测试代码假定是在 ${basedir}/class="lazy" data-src/test 。项目假定会产生一个 JAR 文件。 Maven 假定你想要把编译好的字节码放到${basedir}/target/classes 并且在 ${basedir}/target 创建一个可分发的 JAR文件。 虽然这看起来无关紧要,但是想想大部分基于 Ant 的构建必须为每个子项目定义这些目录。 Maven 对约定优于配置的应用不仅仅是简单的目录位置, Maven 的核心插件使用了一组通用的约定,以用来编译源代码,打包可分发的构件,生成 web 站点,还有许多其他的过程。
Maven插件的全局性重用

         Maven 的核心,解析一些 XML 文档,管理生命周期与插件。 Maven 被设计成将主要的职责委派给一组 Maven 插件,这些插件可以影响 Maven 生命周期,提供对目标的访问。绝大多数 Maven 的动作发生于 Maven 插件的目标,如编译源码,打包二进制代码,发布站点和其它构建任务。从 Apache 下载的 Maven 不知道如何打包 WAR 文件,也不知道如何运行单元测试, Maven 大部分的智能是由插件实现的,而插件从 Maven 仓库获得。第一次你用全新的 Maven 安装运行诸如 mvn install 命令的时候,它会从中央 Maven 仓库下载大部分核心 Maven 插件。这不仅仅是一个最小化 Maven分发包大小的技巧,这种方式更能让你升级插件以给你项目的构建提高能力。 Maven从远程仓库获取依赖和插件的这一事实允许了构建逻辑的全局性重用。

依赖管理

          由于项目是根据一个包含组标识符,构件标识符和版本的唯一的坐标定义的。项目间可以使用这些坐标来声明依赖
远程仓库

          和项目依赖相关的,我们可以使用定义在项目对象模型( POM)中的坐标来创建 Maven 构件的仓库。

Ant 和 Maven 的区别

Apache Ant

        Ant 没有正式的约定如一个一般项目的目录结构, 你必须明确的告诉 Ant哪里去找源代码,哪里放置输出。随着时间的推移,非正式的约定出现了,但是它们还没有在产品中模式化。

         Ant 是程序化的,你必须明确的告诉 Ant 做什么,什么时候做。你必须告诉它去编译,然后复制,然后压缩。

         Ant 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。

Apache Maven

         Maven 拥有约定,因为你遵循了约定,它已经知道你的源代码在哪里。它把字节码放到 target/classes ,然后在 target 生成一个 JAR文件。

       Maven 是声明式的。你需要做的只是创建一个 pom.xml 文件然后将源代码放到默认的目录。 Maven 会帮你处理其它的事情。

        Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是, Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

Maven 以插件的形式为一些一般的项目任务提供了内置的智能。如果你想要编写运行单元测试,你需要做的只是编写测试然后放到 ${basedir}/class="lazy" data-src/test/java ,添加一个对于 TestNG 或者 JUnit 的测试范围依赖,然后运行 mvn test 。如果你想要部署一个 web 应用而非 JAR ,你需要做的是改变你的项目类型为 war ,然后把你文档根目录置为 ${basedir}/class="lazy" data-src/main/webapp 。当然,你可以用 Ant 做这些事情,但是你将需要从零开始写这些指令。使用 Ant ,你首先需要确定 JUnit JAR 文件应该放在哪里,然后你需要创建一个包含这个 JUnit JAR 文件的 classpath ,然后告诉 Ant 它应该从哪里去找测试源代码,编写一个目标来编译测试源代码为字节码,使用 JUnit 来执行单元测试

简单使用语句

          mvn   -v    查看版本
                    compile  编译
                    test   测试
                    package   打包
                    clean   清楚target
                    install  安装jar包到本地仓库中

自动创建目录骨架

archetype插件用于创建符合maven规定的目录骨架创建目录有两种方式

      方式一:archetype:generate 按照提示进行选择
      方式二:archetype:generate -DgroupId=组织名,公司网址的反写+项目名
                                                           -DartifactId=项目名-模块名
                                   -Dversion=版本号
                                   -Dpackage=代码所存在的包名

其他知识点 

     坐标
           构件
      仓库   分为本地仓库和远程仓库
      镜像仓库  
      clean 清理项目
      pre-clean 执行清理前的工作
      clean清理上一次构建生成的所有文件
      post-clean执行清理后的文件
      site生成项目站点
             pre-site 在生成项目站点前要完成的工作
     site 生成项目的站点文档
     post-site在生成项目站点后要完成的工作
     site-deploy发布生成的站点到服务器
      依赖范围
      依赖冲突
      依赖传递
      聚合和继承,其他知识点以后在详细介绍。。

感谢你能够认真阅读完这篇文章,希望小编分享的“java中maven是什么”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java中maven是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java中maven是什么

这篇文章主要介绍了java中maven是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Maven定义 Maven 是一个项目管理工具,它包含了一个项
2023-05-31

Maven中Maven Wrapper的作用是什么

Maven Wrapper是一个用于管理和运行Maven构建工具的工具,可以将Maven版本与项目绑定在一起,避免在不同开发环境中出现Maven版本不一致的问题。它可以帮助项目的开发人员和构建服务器在没有预先安装Maven的情况下轻松构建项
Maven中Maven Wrapper的作用是什么
2024-04-09

Maven是什么

本篇内容介绍了“Maven是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Maven是什么Maven是一套项目管理框架,但这并不是Mav
2023-06-17

java执行maven的方法是什么

要执行Maven命令,需要使用以下方法:使用Maven的命令行工具执行命令。在命令行中输入mvn后,可以跟随各种Maven命令和参数来执行操作。例如,要编译项目,可以使用mvn compile命令。在Java代码中使用Runtime类来执行
2023-10-23

maven 中clean的作用是什么

这篇文章给大家介绍maven 中clean的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。有时候用mvn install后,新改的内容不生效,一定要后来使用mvn clean install 才生效,由于之前
2023-06-20

什么是IDEA、Eclipse、Maven

本篇内容介绍了“什么是IDEA、Eclipse、Maven”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文提纲版本约定IntelliJ I
2023-06-15

maven的pom.xml中profiles的作用是什么

maven的pom.xml中profiles的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、profiles是什么?有什么作用在maven构建的项目都存在一个po
2023-06-22

maven中setting配置的方法是什么

在Maven中,可以通过以下方法配置settings:1. 在用户目录下的.settings文件夹中创建settings.xml文件,并在此文件中进行配置。该文件的路径通常为C:\Users\your_username\.m2\settin
2023-10-08

Java之Maven工程打包jar的方法是什么

这篇文章主要介绍“Java之Maven工程打包jar的方法是什么”,在日常操作中,相信很多人在Java之Maven工程打包jar的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java之Maven工
2023-07-05

Maven依赖关系是什么

这篇文章主要介绍“Maven依赖关系是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Maven依赖关系是什么”文章能帮助大家解决问题。1.何为依赖?我们在平时的项目开发中也是同理,你需要依赖一些
2023-06-26

怎么在java中安装maven

怎么在java中安装maven?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发
2023-06-14

java中是什么是NIO

java中是什么是NIO?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的实现了
2023-06-14

maven plugin配置的方法是什么

Maven插件的配置方法有多种,取决于插件的类型和用途。以下是一些常见的配置方法:1. 在项目的pom.xml文件中添加插件配置:```插件groupId插件artifactId插件版本```2. 在Maven的settings.xml文件
2023-10-10

Java中main是什么

main方法是一个特殊的方法,是程序执行的入口,一个Java程序从main方法开始执行。Java虚拟机在执行Java程序之前会事先分配一个主线程,然后在主线程里面执行我们这个main方法,明白了吧?所以我们经常说main方法叫主线程! (推荐
Java中main是什么
2021-11-26

java中类是什么

类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象
java中类是什么
2017-10-14

java中什么是T?

java中什么是T?T是Java泛型中的一个标记符号,代表Type(Java 类)。Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就
java中什么是T?
2020-03-15

java中什么是Selector

这篇文章给大家介绍java中什么是Selector,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC设计模
2023-06-14

java中Channel是什么

java中Channel是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的实现
2023-06-14

Java中HashMap是什么

这篇文章主要介绍Java中HashMap是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、HashMap的结构图示本文主要说的是jdk1.8版本中的实现。而1.8中HashMap是数组+链表+红黑树实现的,大概
2023-06-15

Java中ConcurrentHashMap是什么

Java中的ConcurrentHashMap是一种线程安全的哈希表实现。它是对HashMap的改进,主要用于多线程环境下的并发操作。ConcurrentHashMap使用了一种分段锁的机制,将整个哈希表分成多个段(Segment),每个段
2023-09-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录