构建jar包到本地maven仓库遇到的坑

本来构建本地jar包到本地maven仓库是个简单的事,但是却折腾了我两个小时。首先参考:maven 添加自己的包到本地仓库及到项目中
但是照博文中的方法操作,却报错:

No plugin found for prefix 'd' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (C:\Users\Administrator\.m2\repository), aliyunmavenpublic (https://maven.aliyun.com/repository/public)]

看着这个错误,我想过是阿里仓库有些包下不下来,想过是我的依赖不对,想过是我的路径不对,可是几番测试,他都不行,错误依然存在。

偶然间,我发现错误里提到的那个“d”,和我jar路径的“d”长一模一样,然后几番测试就是表达的路径上的那个“d”,那么是我路径不对,然后我就尝试各种方法,绝对路径或者相对路径,都不行。

最后我就很绝望的怀疑,是不是指令的等号后面不能有空格?于是我尝试,果然!!!!不能有空格。
所以最后正确的指令应该是:

mvn install:install-file -Dfile=D:\java\workplace\xxx\xxx.jar -DgroupId=xxx -DartifactId=xxx -Dversion=1.0 -Dpackaging=jar

估计是版本变更后语法细节有变化导致的。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Maven项目中引入本地的jar有两种方式。 第一种方式是将本地的jar手动安装到本地的Maven仓库中,然后在项目的pom.xml文件中添加相关的依赖。首先,将本地的jar安装到Maven仓库中,可以通过以下命令实现: ``` mvn install:install-file -Dfile=path/to/jarfile.jar -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar ``` 其中,`path/to/jarfile.jar`为本地jar的路径,`groupId`为指定的组织ID,`artifactId`为项目ID,`version`为版本号。安装成功后,可以在项目的pom.xml文件中添加以下依赖: ``` <dependency> <groupId>groupId</groupId> <artifactId>artifactId</artifactId> <version>version</version> </dependency> ``` 替换其中的`groupId`、`artifactId`和`version`为实际的值。 第二种方式是通过使用Maven的system scope将本地的jar引入到项目中。在项目的pom.xml文件中添加以下依赖: ``` <dependency> <groupId>groupId</groupId> <artifactId>artifactId</artifactId> <version>version</version> <scope>system</scope> <systemPath>path/to/jarfile.jar</systemPath> </dependency> ``` 同样,需要替换其中的`groupId`、`artifactId`、`version`和`path/to/jarfile.jar`为实际的值。 需要注意的是,第一种方式可以保证在其他机器上构建项目时也能正确引入该jar,而第二种方式则需要保证在构建项目时本地的jar路径是正确的。因此,推荐使用第一种方式将本地的jar安装到Maven仓库中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsjweiyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值