阿里云maven私有库上传jar包之两三事儿

阿里云maven私有库上传jar包之两三事儿

最近做项目遇到个问题,其实也不是个大问题,主要是花的时间有点长,稍微的记录一下

问题:
在进行帆软报表的数字签名认证时,需要引入两个jar包,core、third这两个jar包,好死不死的这两个jar包,帆软并没有上传至公共的maven库,这就需要自己上传

方案一:
1:首先,上传至自己本地的maven库,保证开发没有问题

mvn install:install-file  -DgroupId=com.sinoflag.fr   -DartifactId=fine-third  -Dversion=10.0   -Dpackaging=jar  -Dfile=fine-third-10.0.jar

这里只配置一个,另外一个一样的命令
-Dfile 如果是在jar包所在文件夹则直接写名称即可,如果不是写jar包全路径
其他参数无需多说

2:由于我们用的是阿里云效的制品库作为maven的私库,因此需要再将两个jar包,传到私库上
问题来了,阿里的制品库,在浏览器页面上,上传时,third 这个jar包,上传失败 ,这个jar包足足有130多MB,我怀疑是它太胖了导致的(看来减肥还是有必要的)
等待后续:给阿里下发了工单,他们正在处理
其实用命令行是可以上传的,但是当时已懵逼,并不知道啊,后来用了命令行上传成功,而阿里正在解决页面上的上传问题

mvn deploy:deploy-file -DgroupId=com.sinoflag.fr -DartifactId=fine-third -Dversion=10.0 -Durl=私库地址 -Dpackaging=jar -DrepositoryId=私库ID -Dfile=fine-third-10.0.jar

这个命令的背后,当然还需要在maven配置文件里,配置阿里云的身份认证信息

这个方案有问题,那不能等啊,尝试着用另外一种方式,有次出现了方案二

方案二:将jar包放到项目工程中,再以引入本地系统jar包的方式引入
在项目根目录下,创建lib目录,并将上述两个jar包,放进去
然后pom文件为

<dependency>    
    <groupId>com.fr</groupId>    
    <artifactId>fine-core</artifactId>    
    <version>10.0</version>    
    <scope>system</scope>    
    <systemPath>${project.basedir}/lib/fine-core-10.0.jar</systemPath></dependency>
<dependency>    
    <groupId>com.fr</groupId>    
    <artifactId>fine-third</artifactId>    
    <version>10.0</version>    
    <scope>system</scope>    
    <systemPath>${project.basedir}/lib/fine-third-10.0.jar</systemPath>
</dependency>

ok,代码已经可以编译了,也没有问题了

但是你认为完美了吗??? 并没有

130多MB的jar包放在代码里,多占地方,服务器难道不嫌弃它吗,其他的文件,不嫌弃挤得慌吗

并且,目前编译部署,用的是阿里云的云效,用流水线去构建和部署,每次编译需要将代码copy到编译服务器去执行,多增加了130MB,copy过去的时候就问问你,急不急

不过制品库的依赖,在阿里云编译的时候是增量的,有缓存的

因此,最终还是选择了,搞阿里云的制品库,也就有了用命令行上传成功的操作了,花费了大半天的时间,让我想怼死我眼前的所有生物

以上!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值