这个问题困扰了我很久,一直无法解决;我在虚拟机里面按照同样的步骤配置了三次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的解决方案的更多相关文章

  1. Maven命令行创建web项目,并部署到jobss当中(解决No plugin found for prefix 'jboss-as' in the current project and in the plugin groups [org.apache.maven.plugins,问题)

    首件创建项目:此处可参照:http://maven.apache.org/guides/mini/guide-webapp.html mvn archetype:generate -DgroupId= ...

  2. 构建Maven项目自动下载jar包

    使用Maven 自动下载jar包 右键单击项目,将项目 转换成Maven 项目 然后进去Maven官网 http://mvnrepository.com/ 这里有大量的jar包供我们使用,比如我现在要 ...

  3. 【转】构建Maven项目自动下载jar包

    原文地址:https://blog.csdn.net/gfd54gd5f46/article/details/54973954 使用Maven 自动下载jar包 右键单击项目,将项目 转换成Maven ...

  4. Maven出现错误No plugin found for prefix 'jetty' in the current project and in the plugin groups的问题解决

    只需在maven的setting.xml文件上加入如下节点: <pluginGroups> <pluginGroup>org.mortbay.jetty</pluginG ...

  5. No plugin found for prefix ‘jetty’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories

    maven配置文件(最大的那个)的<pluginGroups></pluginGroups>增加一行如下<pluginGroups><pluginGroup& ...

  6. eclipse maven 项目导出为 jar 包

    一个 maven 项目有很多依赖,所以最后打出的 jar 一般会很多,且比较大,打成 jar 包的步骤 (注意pom.xml文件中打包类型不能是war包): 1. 把 pom.xml 中依赖的库打成 ...

  7. 如何解决Maven和SBT下载Jar包太慢

    国内:如何解决Maven和SBT下载Jar包太慢 Maven 远程仓库 <mirror> <id>ui</id> <mirrorOf>central&l ...

  8. eclipse导入maven项目后依赖jar包更新问题->update project按钮

    eclipse导入maven项目后依赖jar包更新问题 1.eclipse有专门的导入maven项目按钮,file-import-maven project,eclipse会自动查找指定路径下的pom ...

  9. Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)

    Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea   ...

随机推荐

  1. 使用小记:Zookeeper中动态改变节点的功能

    Zookeeper 3.5+提供了reconfig功能实现动态配置节点,官方的说明是,"你再也不需要进行全部节点重启"就可以应用所有的修改: http://zookeeper.ap ...

  2. 在微信框架模块中,基于Vue&Element前端的事件和内容的管理

    在微信后台管理中,我们需要定义好菜单对应的事件管理,因为微信通过菜单触发相关的事件,因此菜单事件的响应关系,我们如果处理好,就能构建出我们的微信应用入口了.通过入口,我们可以响应用户菜单的事件,如响应 ...

  3. tail -fn 1000 test.log | grep '关键字' 按照时间段 sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log /var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

    Linux 6种日志查看方法,不会看日志会被鄙视的 2020-02-11阅读 7.3K0   作为一名后端程序员,和Linux打交道的地方很多,不会看Linux日志,非常容易受到来自同事和面试官的嘲讽 ...

  4. linux操作系统故障处理-ext4文件系统超级块损坏修复

    linux操作系统故障处理-ext4文件系统超级块损坏修复   背景 前天外面出差大数据测试环境平台有7台服务器挂了,同事重启好了五台服务器,但是还有两台服务器启动不起来,第二天回来后我和同事再次去机 ...

  5. dstat命令

    dstat命令 dstat命令是一个用来替换vmstat.iostat.netstat.nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具.与sysstat相比,dstat拥有一个 ...

  6. 速度竟差9倍!6款32GB USB3.0优盘横评

    速度竟差9倍!6款32GB USB3.0优盘横评 2014-08-22 05:04:00  [  中关村在线 原创  ]   作者: 蒋丽 |  责编:孙玉亮 收藏文章 分页阅读 分享到 评论(90) ...

  7. Keil编译后的Code,RO,RW,ZI分别表示什么以及和芯片Flash、SRAM的对应关系

    在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息:<ignore_js_op> 以前一直好奇这几个参数和实际使用的STM32芯片中F ...

  8. centos7 搭建 nginx web服务 反代理

    Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...

  9. 也谈如何写一个Webserver(三)

    在上一篇里,我介绍了如何应用socket和epoll来组织和管理从客户端(如,浏览器)传入的连接,通过设置非阻塞连接让Webserver有更好的性能. 下面,我介绍一下在我写的Webserver Ma ...

  10. 根据swagger.json生成flutter model,暂无空安全支持

    一般的服务端类型都有泛型支持,对于flutter来说虽然也支持泛型,但是在序列化这里却始终存在问题,flutter不允许用反射,对于flutter项目的开发来说除了画页面,可能最烦人的就是跟服务端打交 ...