[TOC]

在使用maven-deploy命令的时候报错了。报错信息是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-deploy) on project community-compose-api: Failed to deploy artifacts: Could not transfer artifact ** from/to snapshots *: Failed to transfer file: *. Return code is: 401, ReasonPhrase: Unauthorized. -> [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/MojoExecutionException

在初看的时候是懵的,因为我根本就不知道deploy的命令是干啥的。所以首先要清楚,这些命令都是干啥的。

Maven常用命令介绍

这里只记录常用的命令,目前我用的就三个

  • mvn clean

    清理项目产生的临时文件,在日志中会打印出清理的目录,以Deleting开头

  • mvn package

    项目打包工具,会在模块的target目录下生成jar或war等文件

  • mvn test

    测试命令,执行test目录下的测试用例

  • mvn install

    模块安装命令,将打包的jar/war文件复制到本地仓库中,供其他模块使用

  • mvn deploy

    发布命令,将打包的文件发布到远程仓库,提供其他人员进行下载依赖

  • mvn compile

    编译源代码,mvn test-compile是编辑测试代码

还有一些其他的比如生成eclipse和生成idea项目,这里没用到,需要的可以去搜一下。

文章你抄我的,我抄你的,这个讲的还挺详细的,但原文作者不是这个应该官方5分钟入门文档这个官方文档讲的更好

配置文件介绍

回到上面刚开始的那个问题,可以说里面重要的信息就一句,Return code is: 401, ReasonPhrase: Unauthorized.,主要来说就是认证不通过,联想到上面的deploy命令是将jar包发布到远程仓库,也就是说远程仓库不接受你。解决方法就是修改配置文件setting.xml。将server的username和password换为认证的账号密码。

也可以看这篇文章

关于Setting.xml

maven的配置文件setting.xml存在两个地方,${MVN_HOME}/conf/settings.xml或者用户的目录:${user.home}/.m2/settings.xml。前者是全局配置,后者是当前用户配置,建议修改当前用户配置。

其实setting.xml中都有注释,不过是英文的,这里是 中文的翻译

这一段时间更新博客更新的慢了,质量感觉也下降了,因为每天都在为小需求做开发,再也没有以前那样晚上可以好好的谢谢文字了。但还好,时间总是有的,就看你想不想去做。

从9月份到现在,每个工作日晚上都会发日报给主管,我真心觉得日及应用Day one挺不错的,当完成一项功能的时候就记录一下,等到晚上也知道自己做了什么了。