美文网首页
maven的基本概念

maven的基本概念

作者: 帮我的鸵鸟盖个章 | 来源:发表于2019-10-26 10:32 被阅读0次

maven是干嘛的

mvn是项目管理工具。通过mvn可以对java项目进行依赖管理和项目构建。

maven坐标的概念

maven的坐标俗称gav。通过gav可以定位一个Maven工程。

  • groupid :公司或组织名
  • artifactid : 模块名(实际项目名)
  • version :当前项目的版本
<groupId>com.mayn</groupId>
<artifactId>oms</artifactId>
<version>3.4</version>

maven依赖的导入
需要的依赖可以去maven仓库寻找,复制需要的dependencypom文件。

maven仓库地址

eg:

    <properties>
        <shiro.version>1.4.0</shiro.version>
    </properties>

    <dependencyManagement>
        <dependencies>  
            <!--Shiro核心框架 -->
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-core</artifactId>
                <version>${shiro.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

maven引入外部依赖

<!--京东API接口 -->
<dependency>
    <groupId>com.jd</groupId>
    <artifactId>jingdong-pop-api-sdk</artifactId>
    <version>2.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/sdk/open-api-sdk-2.0.jar</systemPath>
</dependency>

依赖的范围

dependencyscope属性表示依赖的范围,具体如下:

  1. compile 范围依赖
    对主程序是否有效:有效
    对测试程序是否有效:有效
    是否参与打包:参与
    是否参与部署:参与
    典型例子:log4j
  2. test 范围依赖
    对主程序是否有效:无效
    对测试程序是否有效:有效
    是否参与打包:不参与
    是否参与部署:不参与 
    典型例子:Junit
  3. provided 范围依赖
    对主程序是否有效:有效  
    对测试程序是否有效:有效
    是否参与打包:不参与  
    是否参与部署:不参与
    典型例子:servlet-api.jar,一般在发布到 服务器中,比如 tomcat,服务器会自带 servlet-api.jar 包,所以provided 范围依赖只在编译测试有
  4. runtime 范围依赖:在测试、运行的时候依赖,在编译的时候不依赖。例如:JDBC驱动,项目代码只需要jdk提供的jdbc接口,只有在执行测试和运行项目的时候才需要实现jdbc的功能。

依赖排除

springboot内嵌Tomcat,需要用外部Tomcat启动程序时,需要排除自带的Tomcat。使用exclusions排除内嵌依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 去除内嵌tomcat -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

依赖的冲突

  1. 同一个pom文件冲突
    同一个pom.xml 文件,先申明者优先。
    pom文件中越往下越优先声明,优先级越高。
  2. pom文件,路径最短者优先。

maven的常用命令

  1. mvn compile 编译,将Java 源程序编译成 class字节码文件。
  2. mvn test 测试,并生成测试报告。
  3. mvn clean 将以前编译得到的旧的 class字节码文件删除。
  4. mvn pakage 打包,动态 web工程打 war包,Java工程打jar包。
  5. mvn install 将项目生成jar包放在仓库中,以便别的模块调用。

相关文章

  • maven的应用(摘自菜鸟教程)

    一直使用maven,缺少系统化学习,找了本教程,系统的了解和学习下 1 maven的基本概念 maven安装 po...

  • Maven的基本概念

    Maven的基本概念 [toc] Maven可以帮助我们做什么 如果只是一个简单的项目(例如只有一个Java文件的...

  • maven的基本概念

    maven是干嘛的 mvn是项目管理工具。通过mvn可以对java项目进行依赖管理和项目构建。 maven坐标的概...

  • Maven 基本概念

    1 依赖 1.1 denpendency包含的元素 1.2 依赖范围 scope java程序有三种classpa...

  • maven基本概念

    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。 安...

  • 全面理解 Maven

    1 简介 本文将介绍基于 Apache Maven 3 的项目构建的基本概念和方法。Maven 是一套标准的项目构...

  • Maven(九)maven 依赖的基本概念

    一、依赖的基本配置 配置文件中(pom.xml),根元素 project 下的 dependencies 可以包含...

  • Maven(六) 仓库的基本概念

    一、仓库的基本概念 首次运行 Maven 命令的时,需要网上下载文件。 这些文件,是从 Maven 默认的远程库下...

  • Maven与Gradle的优劣及其如何选择?

    阅读本文前,请至少知道什么是Maven和Gradle,并对其有一定的使用基础。 基本概念与约定 Maven项目结构...

  • Maven学习之路(一):POM文件

    基本概念 POM(Project Object Model,项目对象模型)文件是Maven项目的核心,定义项目基本...

网友评论

      本文标题:maven的基本概念

      本文链接:https://www.haomeiwen.com/subject/glyyvctx.html