精华内容
下载资源
问答
  • Maven使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven的缺省构建规则有较高的可...

    Maven使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

    Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发布时使用Maven,而且公司项目采用 Maven 的比例在持续增长。

    Maven的出现,解决了开发过程中的jar包升级及依赖的难题。它可以对项目依赖的jar包进行管理,可以让你的项目保持基本的        依赖,排除冗余jar包,并且可以让你非常轻松的对依赖的jar包进行版本升级。而这些仅仅是Maven最基本的功能,它可以在这

    基础上对项目进行清理、编译、测试、打包、发布等等构建项目的工作。

    可以说,Maven是现在Java社区中最强大的项目管理和项目构建工具,而更加值得庆幸的是,这样一个强大的工具,它的使用       也是非常简单的。

    现在,JavaEE项目使用的开源软件都可以通过Maven来获取,并且,越来越多的公司也开始使用Maven来管理构建项目了。

    展开全文
  • 1、Maven是什么? Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。 传统工程我们...

    学习尚硅谷老师讲的Maven工具,以及看了网友资料,随手整理了一部分。

    1、Maven是什么?

    Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。

    传统工程我们直按把jar包放置在项目中, Maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标。不使用Maven工具,当做 Java 项目需要第三方依赖包时,将别人打好的 Jar 包下载到本地,然后手动指定给项目。另外,比如版本控制,需要新版本怎么办,重新下载,重新指定,这个过程操作麻烦。而用了 Maven 之后,需要什么包,直接在 pom.xml 中添加几行 xml 代码(添加所依赖jar包的坐标),指定包名、版本等,就可以了,方便开发。

    2、仓库

    (1)仓库的分类

    本地仓库:当前电脑上部署的仓库,为当前电脑上所有的Maven工程服务。

    远程仓库:

    [1]私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务。

    [2]中央仓库:架设在Internet上,为全世界的所有Maven工程服务。

    [1]中央仓库的镜像:架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压&emsp&emsp力,同时更 快响应用户请求。

    (2)仓库中保存的内容:Maven工程

    [1] Maven自身所需要的插件。

    [2] 第三方框架或工具的jar包(最早也是Maven工程的形式,只不过是打包成了jar包)。

    [3] 我们自己开发的Maven工程(也可以放入本地仓库)。

    注意:第一方是JDK,第二方是开发人员自己。

    3、Maven中的重要配置文件:pom.xml

    (1)含义:Project Object Model项目对象模型。

    (2)pom.xml 对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置。重要程度相当于web.xml对于动态Web工程。

    4、坐标

    (1)数学中的坐标:

    [1] 在平面中,使用X、Y两个向量可以唯一定位平面中的任何一个点

    [2] 在空间中,使用X、Y、Z三个向量可以唯一定位空间中的任何一个点

    (2)Maven的坐标:使用下面三个向量在仓库中唯一定位一个Maven工程(jar包)

    [1] groupid:公司或组织域名倒序+项目名

    <groupid>com.atguigu.maven</groupid>

    [2] artifactid:模块名

    <artifactid>Hello</artifactid>

    [3] version:版本

    <version>1.0.0</version>

    5、Maven的常用命令

    (1)执行与构建过程相关的Maven命令,必须进入pom.xml所在目录。与构建过程相关:编译、测试、打包、......

    (2)常用命令:

    [1] mvn clean:清理(会删除原来编译和测试的目录,即 target目录,但是已经 install到仓库里的包不会删除)

    [2] mvn compile:编译主程序 (会在当前目录下生成一个 target里边存放编译主程序之后生成的字节码文件)

    [3] mvn test-compile:编译测试程序(会在当前目录下生成一个 target,里边存放编译测试程序之后生成的字节码文件)

    [4] mvn test:执行测试(会生成一个目录 surefire- reports,保存测试结果)

    [5] mvn package:打包主程序(会编译、编译测试、测试、并且按照pom.xml配置把主程序打包生成jar包或者war包

    [6] mvn install:安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)

    [7] mvn deploy:部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。还会自动把项目部署到web容器中)

    6、Maven依赖范围

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 在微服务的项目中,我们是不是经常在父项目中写一些统一版本的jar包,但是其中很多时候都有如下类似代码的影子,对于下面的代码中pom和type的作用是否明白呢,如果不明白,欢迎看下面的内容。 <dependency> ...

    1、前言

    在微服务的项目中,我们是不是经常在父项目中写一些统一版本的jar包,但是其中很多时候都有如下类似代码的影子,对于下面的代码中pom和type的作用是否明白呢,如果不明白,欢迎看下面的内容。

        <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-dependencies</artifactId>
                    <version>${spring-boot.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
     </dependency>
    

    2、分析pom

    maven和java一样,是单继承的,它只能有一个父类,但是我们在创建springboot项目的时候,一般我们都是这样创建的:pom如下:

    
    	<!-- 父类,表示是一个springboot项目 -->
       <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.7.RELEASE</version>
            <relativePath/> 
        </parent>
    
    	<!-- 版本控制 -->
        <properties>
            <mybatis.starter.version>1.3.2</mybatis.starter.version>
            <mapper.starter.version>2.0.2</mapper.starter.version>
            <druid.starter.version>1.1.9</druid.starter.version>
            <mysql.version>5.1.32</mysql.version>
        </properties>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                    <version>${mybatis.starter.version}</version>
                </dependency>
                <!-- 通用Mapper启动器 -->
                <dependency>
                    <groupId>tk.mybatis</groupId>
                    <artifactId>mapper-spring-boot-starter</artifactId>
                    <version>${mapper.starter.version}</version>
                </dependency>
                <!-- 分页助手启动器 -->
                <dependency>
                    <groupId>com.github.pagehelper</groupId>
                    <artifactId>pagehelper-spring-boot-starter</artifactId>
                    <version>${pageHelper.starter.version}</version>
                </dependency>
                <!-- mysql驱动 -->
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql.version}</version>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
    

    首先我们看到一个parent标签,里面是springboot,代表这是一个springboot项目,然后我们想用springboot里面封装好的一些jar包,直接就和java继承一样,直接使用,但是问题来了,此时我想让我的项目用springCloud下的包,做成一个微服务的项目,那么现在该怎么做呢?pom和import解决了此问题,代码如下:

     <properties>
            <spring-cloud.version>Finchley.SR2</spring-cloud.version>
            <mybatis.starter.version>1.3.2</mybatis.starter.version>
            <mapper.starter.version>2.0.2</mapper.starter.version>
            <druid.starter.version>1.1.9</druid.starter.version>
            <mysql.version>5.1.32</mysql.version>
        </properties>
    
        <dependencyManagement>
            <dependencies>
                <!-- springCloud -->
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                 <dependency>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                    <version>${mybatis.starter.version}</version>
                </dependency>
                <!-- 通用Mapper启动器 -->
                <dependency>
                    <groupId>tk.mybatis</groupId>
                    <artifactId>mapper-spring-boot-starter</artifactId>
                    <version>${mapper.starter.version}</version>
                </dependency>
                <!-- 分页助手启动器 -->
                <dependency>
                    <groupId>com.github.pagehelper</groupId>
                    <artifactId>pagehelper-spring-boot-starter</artifactId>
                    <version>${pageHelper.starter.version}</version>
                </dependency>
                <!-- mysql驱动 -->
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql.version}</version>
                </dependency>
        </dependencyManagement>
    

    3、结论

    此时我就可以直接用springcloud下面包的所有的东西了,说了这么多pom和import就是解决了maven单继承的问题。

    4、参考

    Maven 实战(三)——多模块项目的 POM 重构

    使用import scope解决maven继承(单)问题

    maven中import scope依赖方式解决单继承问题的理解

    展开全文
  • maven是干什么用的

    千次阅读 2021-03-12 21:40:35
    maven作用是:1、在文件中添加相应的配置,maven就会自动的下载相应的jar包;2、下载依赖,只要配置的jar包所依赖的其他jar包都会被它自动下载下来; 3、可以直接通过它打包war或者jar项目。maven的作用:在文件中...

    maven的作用是:1、在文件中添加相应的配置,maven就会自动的下载相应的jar包;2、下载依赖,只要配置的jar包所依赖的其他jar包都会被它自动下载下来; 3、可以直接通过它打包war或者jar项目。

    482a0d3069400df4ded7540fe0dc2ebe.png

    maven的作用:在文件中添加相应的配置,maven就会自动的下载相应的jar包;下载依赖,只要配置的jar包所依赖的其他jar包都会被它自动下载下来; 可以直接通过它打包war或者jar项目。

    7ead6e3698b7f15b0c78d203193d73ca.png

    1、帮你下载jar包

    maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包了

    下面是示范配置文件pom.xml

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    4.0.0

    exam

    exam_3

    war

    0.0.1-SNAPSHOT

    junit

    junit

    3.8.1

    test

    org.springframework

    spring-web

    3.0.5.RELEASE

    org.springframework

    spring-webmvc

    3.0.5.RELEASE

    以上主要看的结点里面的内容,

    里面每配置一个,

    项目名 :org.springframework

    项目模块 :spring-webmvc

    项目版本 :3.0.5.RELEASE

    maven都会通过,项目名-项目模块-项目版本来maven在互联网上的代码库中下载相应jar包。

    所以这就是maven的功能之一,帮你下载jar包

    2、寻找依赖,帮你下载依赖

    寻找jar包是第一基本功能,寻找依赖在这个是在这个基础上的功能。

    在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有配置,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。

    例如:

    org.springframework

    spring-core

    2.6

    你要maven帮你下载spring-core-2.6.jar包

    而这个jar包里面需要用到commons-logging.jar这个包,

    这叫就依赖,spring-core-2.6.jar依赖于commons-logging.jar。

    这就是maven第二个作用,帮你下载依赖包。

    3、 热部署,热编译

    意思就是,在你web项目已经运行的时候,修改代码的能直接被web服务器所接受,就不需要你重启服务器了,或者重新部署代码了,而且你可以直接通过maven打包war或者jar项目。

    展开全文
  • Maven作用范围provided

    2021-01-17 12:52:09
    #* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。##说白了就是你的插件jar里添加了一个依赖(比如fastjson) 并且scope设置成provided , 其中你的插件jar包里 方法用到了这个依赖...
  • Maven

    2021-08-03 09:54:26
    MavenMaven基础1.Maven简介1.1 Maven是什么1.2 Maven作用2.Maven环境搭建2.1 下载2.2 安装2.3 环境配置3.Maven基础概念3.1 仓库3.2 坐标3.3 仓库配置4.Maven项目搭建4.1 手动搭建maven项目4.2 IDEA工具搭建maven...
  • maven的scope作用

    2020-12-18 18:50:57
    maven作为比较流程的java项目依赖管理,对java开发者来讲dependency的scope标签并不罕见,例如我们经常会在项目的pom文件中看到类似这样的写法: <dependency> <groupId>junit</groupId> <...
  • 今天就来为大家介绍java中maven的概念是什么以及安装它的方法。首先,我们需要知道的是,要用java实现一个后台系统,需要涉及很多模块。web应用服务器、文件服务器、db等等。我们要开发这些模块,就要先把他们各自...
  • Maven私服作用

    2021-02-02 11:49:46
    当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以...
  • Maven(Maven是干什么用)

    2021-06-23 20:56:10
    除了具有构建程序的功能外,Maven还提供了高级项目管理工具。由于Maven的默认构建规则具有很高的可重用性,因此通常可以使用两到三行Maven构建脚本来构建简单的项目。由于Maven的面向项目的方法,许多ApacheJakarta...
  • maven

    2021-04-25 14:43:31
    2)需要很多第三方功能, 需要很多jar文件,需要手工从网络中获取各个jar 3)需要管理jar的版本, 你需要的是mysql.5.1.5.jar 拿你不能给给一个mysql.4.0.jar 4)管理jar文件之间的依赖, 你的项目要使用a.jar 需要...
  • eclipse的maven build是用来编译eclipse工程的。1、maven的Build Lifecycle分为三种,分别为default(处理项目的部署)、clean(处理项目的清理)、site(处理项目的文档生成)。他们都包含不同的lifecycle。Build ...
  • maven是什么

    2020-12-24 16:48:56
     1.1、假如你正在Eclipse下开发两个Java项目,姑且把它们称为A、B,其中A项目中的一些功能依赖于B项目中的某些类,那么如何维系这种依赖关系的呢?  很简单,这不就是跟我们之前写程序时一样吗,需要用哪个项目中...
  • Maven作用

    2020-12-26 17:00:43
    Maven能做什么? 软件工程 完成一个java项目,需要做哪些工作 分析项目要做什么,知道项目有哪些组成部分。 设计项目,通过哪些步骤,使用哪些技术。需要多少人,多长的时间。 组建团队,招人,购置设备,服务器,...
  • Maven依赖的作用

    2021-04-27 16:15:40
    Maven依赖的作用Maven的依赖依赖配置依赖的作用域创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表UML 图表FLowchart流程图导出与导入导出导入 Maven的依赖 使用Maven构建项目的时候,需要在...
  • 在POM 4中,中还引入了,它主要管理依赖的部署。目前可以使用5个值:1. compile,缺省值,适用于所有阶段,会随着项目一起发布。2. provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。3....
  • IDEA中Maven命令的作用

    2021-06-08 09:18:23
    该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。 验证 validate 验证工程是否正确,所有需要的资源是否可用。 编译 compile 会在你的项目路径下生成一个target目录,在该目录...
  • maven scope与optional作用

    2021-08-10 09:49:24
    <scope>runtime</scope> 以上scope设置,说明仅适用运行和测试环节,在编译环境下不会被使用 <optional>true</optional>...以上optional设置,说明项目之间依赖不传递,子项目不引用此jar包 ...
  • 一,使用eclipse1,maven的install可以将项目本身编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 174,370
精华内容 69,748
关键字:

maven的主要功能是