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
这个网址
)