首页 > 编程语言 > 详细

Maven项目无法下载JAR包,输入mvn help:system出现No plugin found for prefix 'help' in the current project and in the plugin groups的解决方案

时间:2021-06-06 00:42:41      阅读:33      评论:0      收藏:0      [点我收藏+]

这个问题困扰了我很久,一直无法解决;我在虚拟机里面按照同样的步骤配置了三次maven项目,每次都能成功;可一旦到外面maven项目总是创建失败,输入mvn help:system总是出现No plugin found for prefix ‘help‘ in the current project and in the plugin groups

这里记录了我所有的思考过程,想直接查看解决方案的可点击这里:解决方案

先说一下物理机环境:

技术分享图片

OS:Win10家庭中文版

JDK:1.8(这里一定一定要注意JDK的版本,不要太高否则就算配置完成了项目可能也跑不起来

Maven:3.8.1

起初我以为是操作系统的问题,因为在搜索的时候看到的确有很多人重装系统最后配置成功了,而且我虚拟机中的操作系统是Win10专业版;但电脑中重要的东西实在太多了,这个方案最先被我PASS;

也有很多人说是中央仓库镜像的问题,配置成阿里的就好了,这个方式我也试过,但还是一样的问题;仍然是No plugin found for prefix ‘help‘ in the current project and in the plugin groups,期间我还试过华为的镜像等,不仅如此,我还尝试着翻了一下,结果全部失败;

再后来我看到了另外一种解决方案,这里把链接放一下

https://blog.csdn.net/qq_37537009/article/details/107714349

按照这种方式是试了几次确实成功了,但进入IEDA后无法下载JAR包,一直都在报错;

我思考了一下觉得问题还是出在No plugin found for prefix ‘help‘ in the current project and in the plugin groups上,于是我在Google上查了一下,关于这个错误几乎没有什么有价值的信息,我相信能够看到这里的诸位应该深有体会;

https://stackoverflow.com/questions/26364608/why-is-there-the-error-no-plugin-found-for-prefix-help-in-the-current-project

这个贴子里的这段话给了我启发

技术分享图片

大致意思就是help代表了一个特定的前缀的插件,在构建项目时首先会从本地的仓库找起,如果找不到,会跑到配置的镜像中去查找,如果找不到便会报出构建失败;

下面是答主给出的两个可能原因:

1、本地仓库的文件损坏了;

2、无法连接远程仓库,基本上大多是网络连接问题;

说实话我只是看到教程中有这样一个步骤,我试了,报错了,然后就没然后了 ,于是我搜索了一下这个命令,我自己的理解就是;

运行这个命令时,会对Maven构建项目所必须一些JAR进行下载,这些JAR在我们的pom.xml文件中也能够见到

技术分享图片

这个时候我觉得其实问题的原因无外乎有这样几种:

1、Maven在我配置的中央仓库镜像中找不到这些JAR;

2、网络问题

说实话其实这两个原因我觉得都像是在开玩笑一样,因为这些JAR怎么会在阿里或者华为的仓库中找不到呢?应该是很基本的JAR啊,

再说网络问题,中央仓库镜像说实话换了太多了,翻也翻了,怎么可能有问题呢?最关键的是我在虚拟机中配置的Maven仅仅就更改了本地仓库的路径,也没去配置仓库镜像,也一样成功了啊;

https://stackoverflow.com/questions/26364608/why-is-there-the-error-no-plugin-found-for-prefix-help-in-the-current-project

还是这个帖子,最后的一个回帖给我带来了第三种可能:

技术分享图片

我尝试搜索了一下这个maven-compiler-plugin 网上说这是一个编译插件,简单说就是指定所编译的JDK版本,看起来文不对题,但是我开始考虑是不是因为JDK的问题;

于是我跑到setting.xml中配置了一下JRE

技术分享图片

<profile>    
    <id>jdk-1.8</id> 
    <activation>    
        <activeByDefault>true</activeByDefault>    
        <jdk>1.8</jdk>    
    </activation>    
    <properties>    
        <maven.compiler.source>1.8</maven.compiler.source>    
        <maven.compiler.target>1.8</maven.compiler.target>    
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
    </properties>    
</profile>

设置完毕之后一定不要忘记两件事:

1、保存修改后的配置文件,重新打开CMD

2、在本地仓库的路径下进入CMD运行下面这段代码

技术分享图片

for /r %i in (*.lastUpdated) do del %i

上面两件事完成后,我重新输入了mvn help:system,竟然开始下载了。

但还没高兴太久,报出了异常;这里我忘记了截图,说是Failed to execute goal...

我查看了一下好像是和JRE版本有关的异常,第一反应告诉我是由于刚才的设置,但是开始下载是件好事,可这里就矛盾了;如果因为我的设置才开始下载的话,报错又是怎么回事呢?下载和配置JRE又有什么关系呢?

我想不太明白,于是跑到本地仓库,直接清空了仓库,全部删除。希望能够复现Failed to execute goal...,但有意思的现象出来了,

当我输入mvn help:system,这次并没有开始下载,而重新报出了No plugin found for prefix ‘help‘ in the current project and in the plugin groups

这个时候我又一次陷入沉思No plugin found for prefix ‘help‘ in the current project and in the plugin groups,找不到插件,找不到插件,
行,如果非要说国内仓库找不到,那我去你们官方的仓库里去找好了吧。

解决方案

为了防止国外镜像速度过慢或者连接不稳定我首先翻了一下,这里我不确定我的成功与这个有没有关系

一、maven配置文件的配置

maven的配置文件我进行了三项设置,这里设置的填入位置网上都有很详细的教程,就不多赘述了:

1、配置本地仓库路径

<localRepository>D:\Software\Java\maven_repertory</localRepository>

2、配置中央仓库镜像

<mirror>
  <id>repo1 Maven</id>
  <name>all repository mirror</name>
  <mirrorOf>*</mirrorOf>      
  <url>https://repo1.maven.org/maven2</url>
</mirror>

3、配置JRE

<profile>    
   <id>jdk-1.8</id> 
   <activation>    
      <activeByDefault>true</activeByDefault>    
      <jdk>1.8</jdk>    
   </activation>    
   <properties>    
      <maven.compiler.source>1.8</maven.compiler.source>    
      <maven.compiler.target>1.8</maven.compiler.target>    
      <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
   </properties>    
</profile>

二、打开cmd

由于我们使用了国外镜像,因此存在ssh证书校验的问题,因此需要在原有命令的基础上加一些东西

mvn help:system -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.valid

敲击回车,可以看到开始下载

技术分享图片

构建成功

技术分享图片

三、IDEA设置

mvn help:system成功执行实际上只是最基础的一步,我们的最终目的还是要保证项目中引用的JAR都能够被成功下载

IDEA版本

技术分享图片

将下面这段代码填入,其实就是我们cmd中后面加上的那一段代码

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.valid

技术分享图片

点击IDEA右方的Maven,按照顺序点击这四个按钮

技术分享图片

这里一定要注意,多使用CMD,打开本地仓库,清理未下载完成的JAR包,有时候可能会出现个别的JAR无法下载的情况,不用着急,重启以下IDEA,清理本地仓库未下载完成的JAR,然后重复上面的步骤即可

技术分享图片

使用CMD清理未完成的JAR包;

一定要在本地仓库所在的目录下,一定要在本地仓库所在的目录下,一定要在本地仓库所在的目录下

技术分享图片

for /r %i in (*.lastUpdated) do del %i

到这里我终于解决了这个困扰我的问题,每个人可能在配置Maven时遇到的问题都不太一样,其中我也有比较心急的时候,但一味的着急并不能解决问题,希望大家具体问题具体分析,比如我遇到的问题,我猜想大概率是配置中央仓库以及网络两方面的问题,解决了这两个问题,一切自然迎刃而解。还有最重要的一点,猜测永远都是猜测,不能完全相信,每一条报错信息都包含着巨大的价值。我最忽视No plugin found for prefix ‘help‘ 到最后点醒了我。

Maven项目无法下载JAR包,输入mvn help:system出现No plugin found for prefix 'help' in the current project and in the plugin groups的解决方案

原文:https://www.cnblogs.com/byuan/p/14853891.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!