栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于maven中引入本地jar方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于maven中引入本地jar方式

关于maven中引入本地jar方式
  • 1 maven的引入简介

通常,项目的模块之间,会使用maven打成jar到本地仓库或项目仓库,然后各个模块再进行引用,但在一些特殊情况,模块直接引入本地系统jar包.

1 maven的引入简介

以junit测试jar包为例:

        
        
            junit
            junit
            4.12
            test
        

通常pom.xml文件中,引入的jar使用三个基本元素来定义:

元素名称说明
groupId对应仓库中一级或多级目录
artifactId对应仓库中一级目录
version对应仓库中一级目录
  • groupId:表示一个公司,组织,团体反过来的域名
  • artifactId:表示项目名或模块名
  • version:每个版本号

scope表示jar包依赖范围

Maven在执行过程中,有三种不同的classpath,运行Java代码时,使用不同的classpath类路径下的jar包执行.

classpath范围理解为
编译类路径程序在编译的时候使用的类路径,理解为main目录下的java代码可用
测试类路径程序在测试的时候使用的类路径,理解为test目录下的java代码可用
运行时类路径程序在执行过程中使用的类路径,理解为target目录下的字节码可用

scope标签指定jar的依赖范围,从上面三种类路径中的一种或多种选取, 默认为三种都可以使用,即compile类型.

依赖范围编译类路径测试类路径运行时类路径
compileYYY
providedYY-
runtime-YY
test-Y-
systemYY-

说明:

  • compile 表示jar包在项目的编译,测试,运行都需要依赖,即项目打包,需要带上.
  • provided 表示jar包在编译,测试时,需要使用,在运行时,由其他的容器来提供.项目打包时,可以不带上.
  • runtime 表示jar包在测试,运行时需要使用.不需要进行编译,可以直接使用.
  • test 表示jar包只在测试阶段使用,如单元测试junit包
  • system和provided的使用相同,但是system类型不会从maven仓库中获取,而是从项目本地文件中获取,所以要配合systemPath一起使用,否则会报错.(systemPath表示本地系统路径)

system使用案例:


    com.cf
    demo-provide
    1.1
    system
    ${basedir}/src/main/resources/lib/demo-provide-1.1.jar

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439493.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号