【maven解决本地无名包的GAV问题】

本文介绍了在Maven项目中如何引入本地非Maven项目的包,详细说明了使用system scope、本地安装方式等三种解决方案,并分析了各自的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mavne项目构建的时候,需要引入本地其他非maven项目工程A的包,这个时候A由于属于“三无”包,缺少GAV,这个时候在maven项目构建就会有问题。

 

备注:

GAV,也就是下面英文字母的首写,也叫做Maven坐标,是用来唯一标识jar包的。

G:groupId 一般来代表项目名称,如:com.deyang.share

A:artifactId 一般来代表模块名称,如:share-common

V:version 模块版本,如:0.0.1-snapshot

通过这三个标识就可以唯一地确定jar包在maven仓库中的唯一地址了,然后就可以找到对应的jar包。网站:http://mvnrepository.com/,可以在顶部的搜索框中搜索jar包,然后找到需要的版本,然后可以找到相应的GAV,复制后粘贴到pom.xml中就可以了,maven会去自动下载相应的及其依赖的jar包。 类似如下的结构: <dependency>

      <groupId>javax.servlet</groupId>

      <artifactId>jstl</artifactId>

      <version>1.1.2</version>

</dependency>

 

解决方案一:

<dependency> 
            <groupId>cn.com.util</groupId> 
            <artifactId>util</artifactId> 
            <version>1.0</version>  
            <scope>system</scope> 
            <systemPath>C:\BigData_workspace\mavendemo\util.jar</systemPath> 
        </dependency> 

缺点:只能保证本地项目打包编译不出问题,打出包的结构不包含util任何东西,运行会出错

 

 

解决方案二:

本地安装方式,命令如下:

mvn install:install-file -DgroupId=cn.com -DartifactId=util2str -Dversion=1.0 -Dpackaging=jar -Dfile=C:/22/util.jar

 

 引入jar包方式

<dependency> 
      <groupId>cn.com</groupId>
    <artifactId>util2str</artifactId>
    <version>1.0</version>
     </dependency>  

就这样打包也不会出问题

 

 

解决方案三:这种方式尝试失败

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值