Maven项目无法下载JAR包,输入mvn help:system出现No plugin found for prefix 'help' in the current project and in the plugin groups的解决方案
这个问题困扰了我很久,一直无法解决;我在虚拟机里面按照同样的步骤配置了三次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上查了一下,关于这个错误几乎没有什么有价值的信息,我相信能够看到这里的诸位应该深有体会;
这个贴子里的这段话给了我启发
大致意思就是help代表了一个特定的前缀的插件,在构建项目时首先会从本地的仓库找起,如果找不到,会跑到配置的镜像中去查找,如果找不到便会报出构建失败;
下面是答主给出的两个可能原因:
1、本地仓库的文件损坏了;
2、无法连接远程仓库,基本上大多是网络连接问题;
说实话我只是看到教程中有这样一个步骤,我试了,报错了,然后就没然后了 ,于是我搜索了一下这个命令,我自己的理解就是;
运行这个命令时,会对Maven构建项目所必须一些JAR进行下载,这些JAR在我们的pom.xml文件中也能够见到
这个时候我觉得其实问题的原因无外乎有这样几种:
1、Maven在我配置的中央仓库镜像中找不到这些JAR;
2、网络问题;
说实话其实这两个原因我觉得都像是在开玩笑一样,因为这些JAR怎么会在阿里或者华为的仓库中找不到呢?应该是很基本的JAR啊,
再说网络问题,中央仓库镜像说实话换了太多了,翻也翻了,怎么可能有问题呢?最关键的是我在虚拟机中配置的Maven仅仅就更改了本地仓库的路径,也没去配置仓库镜像,也一样成功了啊;
还是这个帖子,最后的一个回帖给我带来了第三种可能:
我尝试搜索了一下这个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的解决方案的更多相关文章
- 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= ...
- 构建Maven项目自动下载jar包
使用Maven 自动下载jar包 右键单击项目,将项目 转换成Maven 项目 然后进去Maven官网 http://mvnrepository.com/ 这里有大量的jar包供我们使用,比如我现在要 ...
- 【转】构建Maven项目自动下载jar包
原文地址:https://blog.csdn.net/gfd54gd5f46/article/details/54973954 使用Maven 自动下载jar包 右键单击项目,将项目 转换成Maven ...
- 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 ...
- 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& ...
- eclipse maven 项目导出为 jar 包
一个 maven 项目有很多依赖,所以最后打出的 jar 一般会很多,且比较大,打成 jar 包的步骤 (注意pom.xml文件中打包类型不能是war包): 1. 把 pom.xml 中依赖的库打成 ...
- 如何解决Maven和SBT下载Jar包太慢
国内:如何解决Maven和SBT下载Jar包太慢 Maven 远程仓库 <mirror> <id>ui</id> <mirrorOf>central&l ...
- eclipse导入maven项目后依赖jar包更新问题->update project按钮
eclipse导入maven项目后依赖jar包更新问题 1.eclipse有专门的导入maven项目按钮,file-import-maven project,eclipse会自动查找指定路径下的pom ...
- Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea ...
随机推荐
- mysql无列名注入
0x00 原理 mysql无列名注入是报错注入的一个变种,前提是已知表名,但是不知道列名,或者只知道部分列名,可通过报错注入拼接查询自身表,当自表被拼接时,由于存在重复属性列,会将列信息报错返回, ...
- 常用的HTML标记
一.格式标记 1.<br> <br>是一个单标记,用来强制换行. 2.<p> <p>是双标记.用来换分段落. 3.<center> < ...
- python类变量的分类和调用方式
#!/usr/bin/python # -*- coding: UTF-8 -*- # 父类 class JustCounter: ''' 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中 ...
- SSH自动断开连接的原因-20200323
SSH自动断开连接的原因 方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT ...
- Sqli-labs-master通关解析(持续更新中。。。)
大多情况下:SQL注入其实就是构造正确的mysql命令,让网页回显本不应该让我们看到的数据(如用户的账号和密码). 第一关-联合查询注入 查库 // 查看当前页面在的数据库 ?id=-1' union ...
- 054.Python之Ubuntu安装Pycharm
在学习Django的时候,开始使用的是centos,但是在做的时候,有一个错误,换一个ubuntu环境,安装一个pycharm进行学习开发 1. 下载PyCharm安装包 进入官网下载包 下载后 2. ...
- HEX与ASCII之间装换
static const char bcd_ascll[20]={0x30,0x31,0x32,0x33,0x34, 0x35,0x36,0x37,0x38,0x39, ...
- 信息学C++教程<-3->输入输出格式控制
二进制输出整数 在计算机系统内的数据本身就是二进制 思考:在C++中,如何通过cout函数来输出二进制的数字呢? 所需库文件:1.iomanip //管理C++格式控制 2.bitset //二进 ...
- Idea项目上传到gitlab(以新建项目为例)
1.首先,需要你自己登录GitLab,并新建一个项目的链接,如下图所示: 图一: 图二: 图三(idea上传时用到此链接): 2.在idea上新建一个demo项目,创建一个Git仓库: 3.点击创建后 ...
- Python中PyQuery库的使用
pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,我个人写过的一些抓取网页数据的脚本就是用它来解析html获取数据的. 它的官方文档地址是:http://packages ...