返回顶部
首页 > 资讯 > 精选 >java中maven是什么
  • 115
分享到

java中maven是什么

javamaven 2023-05-31 00:05:39 115人浏览 八月长安
摘要

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

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

Maven定义

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

             在没有自定义的情况下,源代码假定是在 ${basedir}/src/main/java,资源文件假定是在${basedir}/src/main/resources 。测试代码假定是在 ${basedir}/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}/src/test/java ,添加一个对于 TestNG 或者 JUnit 的测试范围依赖,然后运行 mvn test 。如果你想要部署一个 web 应用而非 JAR ,你需要做的是改变你的项目类型为 war ,然后把你文档根目录置为 ${basedir}/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是什么”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: java中maven是什么

本文链接: https://lsjlt.com/news/222336.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java中maven是什么
    这篇文章主要介绍了java中maven是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Maven定义      ...
    99+
    2023-05-31
    java maven
  • Maven中Maven Wrapper的作用是什么
    Maven Wrapper是一个用于管理和运行Maven构建工具的工具,可以将Maven版本与项目绑定在一起,避免在不同开发环境中出...
    99+
    2024-04-09
    Maven
  • Maven是什么
    本篇内容介绍了“Maven是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Maven是什么Maven是一套项目管理框架,但这并不是Mav...
    99+
    2023-06-17
  • java执行maven的方法是什么
    要执行Maven命令,需要使用以下方法: 使用Maven的命令行工具执行命令。在命令行中输入mvn后,可以跟随各种Maven命令...
    99+
    2023-10-23
    java maven
  • maven 中clean的作用是什么
    这篇文章给大家介绍maven 中clean的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。有时候用mvn install后,新改的内容不生效,一定要后来使用mvn clean install 才生效,由于之前...
    99+
    2023-06-20
  • 什么是IDEA、Eclipse、Maven
    本篇内容介绍了“什么是IDEA、Eclipse、Maven”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文提纲版本约定IntelliJ I...
    99+
    2023-06-15
  • maven的pom.xml中profiles的作用是什么
    maven的pom.xml中profiles的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、profiles是什么?有什么作用在maven构建的项目都存在一个po...
    99+
    2023-06-22
  • maven中setting配置的方法是什么
    在Maven中,可以通过以下方法配置settings:1. 在用户目录下的.settings文件夹中创建settings.xml文件...
    99+
    2023-10-08
    maven
  • Java之Maven工程打包jar的方法是什么
    这篇文章主要介绍“Java之Maven工程打包jar的方法是什么”,在日常操作中,相信很多人在Java之Maven工程打包jar的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java之Maven工...
    99+
    2023-07-05
  • Maven依赖关系是什么
    这篇文章主要介绍“Maven依赖关系是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Maven依赖关系是什么”文章能帮助大家解决问题。1.何为依赖?我们在平时的项目开发中也是同理,你需要依赖一些...
    99+
    2023-06-26
  • 怎么在java中安装maven
    怎么在java中安装maven?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发...
    99+
    2023-06-14
  • java中是什么是NIO
    java中是什么是NIO?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的实现了...
    99+
    2023-06-14
  • java中什么是包?
    为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。(推荐:java视频教程)包的作用把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不...
    99+
    2014-10-17
    java
  • java中什么是this
    this关键字是什么?关键字this只能在方法内部使用,表示对当前对象的引用。this关键字的用法访问成员变量,区分成员变量和局部变量访问成员方法访问构造方法返回对当前对象的引用将对当前对象的引用作为参数传递给其他方法用法如下:Test05...
    99+
    2021-02-20
    java this
  • java中什么是T?
    java中什么是T?T是Java泛型中的一个标记符号,代表Type(Java 类)。Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本...
    99+
    2020-03-15
    java入门 java T 泛型
  • java中包是什么
    java中的包其实就是类所在的文件夹,用来组织java文件的。可以将功能相似的一些java类放在同一个包中,以方便组织、调用。只要用package声明包就可以了。如果使用Eclipse等工具,可以直接在项目中创建包,如果手工编写,可以在项目...
    99+
    2019-11-20
    java入门 java
  • java中类是什么
    类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是...
    99+
    2017-10-14
    java入门 java
  • java中api是什么?
    API(Application Programming Interface,应用程序编程接口)是java提供的一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节...
    99+
    2014-09-16
    java教程 java api
  • java中char是什么?
    char是Java中的保留字,表示一种数据类型。与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode编码。不过8位的ASCII码包含在Unicode编码中,其值对应于0~127。char是Java八大基本数据...
    99+
    2018-05-23
    java入门 java char
  • Java中main是什么
    main方法是一个特殊的方法,是程序执行的入口,一个Java程序从main方法开始执行。Java虚拟机在执行Java程序之前会事先分配一个主线程,然后在主线程里面执行我们这个main方法,明白了吧?所以我们经常说main方法叫主线程! ...
    99+
    2021-11-26
    java入门 Java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作