Idea下Maven开发webapp时候,出现无法解析Maven-archetype-plugin情况

  • Post author:
  • Post category:其他



1.Centos7开发环境下,使用Idea下Maven开发webapp时候,出现无法解析Maven-archetype-plugin情况,控制台出现如下代码。



[INFO] ————————————————————————

[INFO] BUILD FAILURE

[INFO] ————————————————————————

[INFO] Total time: 1.030 s

[INFO] Finished at: 2017-07-07T08:53:53+08:00

[INFO] Final Memory: 7M/106M

[INFO] ————————————————————————

[ERROR] Plugin org.apache.maven.plugins:maven-archetype-plugin:RELEASE or one of its

dependencies could not be resolved: Failed to read artifact descriptor for

org.apache.maven.plugins:maven-archetype-plugin:jar:RELEASE: Failed to resolve version for

org.apache.maven.plugins:maven-archetype-plugin:jar:RELEASE: Could not find metadata

org.apache.maven.plugins:maven-archetype-plugin/maven-metadata.xml in local

(/home/cloud/.m2/repository) -> [Help 1]



[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please read the following

articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

[ERROR] Maven execution terminated abnormally (exit code 1)



这个问题浪费了我很长时间,一开始以为是无法加载Maven-archetype-plugin这个插件所导致的,百度谷歌了很多方法,问题依然没有解决(网上解决这个问题的方法主要有两种,一种是修改settings.xml里面的镜像,另一种下载jar包进行替换,参考网址

https://www.bbsmax.com/A/pRdBjPnndn/



当我熟手无措的时候,查看控制台错误提示发现,如下代码



[INFO] Scanning for projects…

Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-archetypeplugin/maven-metadata.xml

Jul 07, 2017 8:53:53 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec

execute

INFO: I/O exception (org.apache.maven.wagon.providers.http.httpclient.NoHttpResponseException)

caught when processing request to {tls}->http://

202.204.4.17:8118-

>https://repo.maven.apache.org:443:

The target server failed to respond

Jul 07, 2017 8:53:53 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec

execute

INFO: Retrying request to {tls}->

http://

202.204.4.17

:8118->https://repo.maven.apache.org:443


Jul 07, 2017 8:53:53 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec

execute

INFO: I/O exception (org.apache.maven.wagon.providers.http.httpclient.NoHttpResponseException)

caught when processing request to {tls}->

http://

202.204.4.17

:8118-

>https://repo.maven.apache.org:443

: The target server failed to respond

Jul 07, 2017 8:53:53 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec

execute

INFO: Retrying request to {tls}->

http://

202.204.4.17

:8118->https://repo.maven.apache.org:443


Jul 07, 2017 8:53:53 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec

execute

INFO: I/O exception (org.apache.maven.wagon.providers.http.httpclient.NoHttpResponseException)

caught when processing request to {tls}->

http://

202.204.4.17

:8118-

>https://repo.maven.apache.org:443

: The target server failed to respond

Jul 07, 2017 8:53:53 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec

execute

INFO: Retrying request to {tls}->http://

202.204.4.17:

8118->https://repo.maven.apache.org:443

[WARNING] Could not transfer metadata org.apache.maven.plugins:maven-archetype-plugin/mavenmetadata.xml from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org:443

failed to respond




这里突然想到,这个ip地址是公司的可以翻墙的ip地址,但是一个月前已经不能用了,现在才恍然大悟,原来是Maven的settings.xml配置文件里面的代理设置的ip和端口不能用了。



找到了问题所在,接下来便是解决问题,借用一个可用的代理ip和端口,





setting.xml


文件中增加


proxy


节点,需要注意的是



settings.xml


文件可能存在于


.m2


路径下,也可能存在


$


M2


_HOME\conf





$


M2


_HOME





maven


的安装

路径)路径下,一般来说,如果


.m2


路径下没有


settings.xml


文件,修改


maven


的安装目录下的


\conf


目录




settings.xml


即可,如果失败的话,可以将


maven


的安装目录下的


\conf


目录下


settings.xml


复制到


.m2



路径下。

具体的代理设置如下


(





settings.xml


文件中增加


<proxies></proxies>


这段内容


)






<settings>



<proxies>

<proxy>

<id>my-proxy</id>

<active>true</active>

<protocol>http</protocol>

<host>

192.168.10.117

</host>

<port>

3267

</port>

<!–

<username>shihuan</username>

<password>123456</password>

<nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts>

–>

</proxy>

</proxies>



</settings>



即将


<host></host> <port></port>


标签代理的


ip


和端口改成可以连接外网的即可




(转载别人的一段话,关于.m2路径下的settings.xml和Maven安装路径下conf路径下的settings.xml区别



经本人研究


maven


的官方说明,得到解决方案如下:将


maven


的安装目录


\conf


目录下的


settings.xml




贝到


C:\Users\lenevo\.m2


目录下即可。

如果我们修改


maven


的安装目录


\conf


目录下的


settings.xml





repository


的值,使得新的


jar


不在



C:\Users\lenevo\.m2


中存在而在新的目录中存在,而事实上这却对


maven


执行时下载


jar


包的位置没有影

响,这就是由于


C:\Users\lenevo\.m2\settings.xml





maven


的影响。由于



C:\Users\lenevo\.m2\settings.xml


文件没有变化,只修改


maven


的安装目录


\conf


目录下的


settings.xml



也无济于事。 参考



http://blog.csdn.net/evilcry2012/article/details/49802983



这个网址









版权声明:本文为xing930408原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。