今天deploy项目时,maven报错401,百度了一下,找到以下文章,解决了问题,所以就考了过来。
源地址是:http://www.netingcn.com/maven-deploy-nexus.html
首先在Nexus中创建一个自己私有的仓库,步骤为Repositories –> Add –> Hosted Repository,在页面的下半部分输入框中填入Repository ID和Repository Name即可,比如分别填入myrepo和 my repository,点击save就创建完成了。
如果要把构建部署至私服中,需要在构建的 pom.xml 文件增加 distributionManagement 配置项,有多种协议可以用来部署构建,这里主要讲两种。
第一种配置如下:
<project>
[...]
<distributionManagement>
<repository>
<id>myrep</id>
<name>my repository</name>
<url>file:/usr/local/mvn-private-server/nexus-oss-webapp-1.9.2.3/./../sonatype-work/nexus/storage/myrep/</url>
</repository>
</distributionManagement>
[...]
</project>
说明:其中id就是需要部署构建的仓库Id,name似乎不重要,可以随便输入,url就是仓库的configuration中Default Local Storage Location项的对应的信息。采用此种方法,服务器不会对部署操作进行认证,同时配置也把仓库的物理存储地址完全暴露,感觉不是太好。
第二种配置如下:
<project>
[...]
<distributionManagement>
<repository>
<id>tagphi</id>
<url>http://nexus-server-ip:8081/nexus/content/repositories/myrep</url>
</repository>
</distributionManagement>
[...]
</project>
说明:上述的distributionManagement信息可以在对于的仓库的Summary中找到。
配置好后,此时执行mvn deploy,部署应该不会成功,根据提示信息,重新执行 mvn deploy -e 或 mvn deploy -X,此时能看到具体的错误信息,报Return code is: 401错,这个是因为发布者没有权限,需要把用户认证信息配置在maven的settings.xml中,该文件在mavne安装包下的conf目录下,这是一个全局配置,同时可以把该文件复制到 userdir/.m2 目录下,这样配置就只对当前用户生效。在settings.xml文件中servers段中添加如下信息
<server>
<id>myrep</id>
<username>deployment</username>
<password>password</password>
</server>
其中id就是部署仓库的id,username是作为部署用户,Nexus系统默认的deployment,密码为deployment123,可以在security — users中找到,如果需要设置密码,在用户列表中找到该用户,在该用户上点击右键,会出来一个菜单供重置密码或修改密码。此时在执行 mvn deploy,应该可以看到成功发布了。当第二次执行 mvn deploy 又失败,这次失败原因是Return code is: 400,该错误的原因是在创建仓库时在configuration中的Deployment Policy设置为了Disable Redeploy,修改为Allow Redeploy即可。
分享到:
相关推荐
** Maven常见错误集合详解 在使用Maven进行Java项目构建时,可能会遇到各种问题,这里主要探讨两个常见的错误情况:编码问题和远程仓库下载失败。 ### 1. Maven编码问题:“编码GBK的不可映射字符” 这个错误通常...
本篇文章将详细探讨"Maven搭建、集成,创建聚合项目问题及错误解决"的相关知识点。 一、Maven本地搭建 在开始使用Maven之前,首先需要在本地安装Maven。这通常涉及下载最新版本的Maven,解压到合适的位置,并将...
清除maven里的错误缓存文件
2. **更好的错误报告**: 提供更清晰的错误信息和堆栈跟踪,帮助开发者更快地定位问题。 3. **依赖管理增强**: 修复了一些依赖解析的bug,提升了依赖管理的准确性和稳定性。 4. **更好的插件管理**: 对插件版本的...
一键删除maven本地仓库中下载错误的jar包资源(以lastUpdated结尾的文档)
一键删除maven本地仓库中下载错误的jar包资源(以lastUpdated,in-progress结尾的文档),当我们使用maven install时需要下载jar包,有时有些jar包只下载了一半,运行程序时会报LOC错误,这个时候发现本地仓库的jar包里...
maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...
5. **增强的错误报告**:Maven 3.0 提供了更详细的错误报告,帮助开发者更快地定位和解决问题,包括构建失败的原因、依赖树等。 6. **支持更多元化格式的POM**:Maven 3.0 支持XML、JSON等多种格式的POM文件,使得...
此外,这个版本还增强了命令行界面,提供了更好的错误报告,帮助开发者更快地定位和解决问题。在性能方面,Maven 3.2.5提升了构建速度,减少了不必要的网络请求,提高了整体工作效率。 Maven的生命周期是其核心概念...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...
清楚maven中错误的jar,将地址改成自己maven仓库的地址就可以双击执行就可以了。
使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...
标题提到的“maven deploy时报错”通常指的是在尝试使用Maven的`deploy`生命周期阶段将构建的工件上传到远程仓库时遇到的问题。描述中的日志显示了具体的错误信息,指出“repository element was not specified in ...
在使用IntelliJ IDEA 2020.1版本时,开发者可能会遇到Maven Test命令导致的导包错误。这通常是由多种原因引起的,其中包括IDE配置问题、项目缓存问题或Maven离线模式的误开启。以下是针对该问题的详细解决方案及相关...
本文详细介绍了exec-maven-plugin的基本概念、配置方法、执行简单和系统脚本、捕获命令输出、条件执行、并发执行、使用环境变量、错误处理、高级配置、使用案例以及局限性。通过这些知识点,读者可以更加自信地在...
Maven 3.x系列相较于之前的版本,引入了诸多改进,如性能优化、更好的错误报告、支持多模块项目和更灵活的依赖管理。Maven 3.1是在3.0的基础上进行的增强,增加了对POM引用远程属性文件的支持,提升了插件管理和...
通过 `maven-scm-plugin`,我们可以自动化版本控制操作,如检出、提交、更新等。在 `pom.xml` 中配置相应的插件和参数,可以实现无缝的 SCM 集成。 项目管理在软件开发中扮演着重要角色。Maven 插件可以帮助我们...
maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置...
Maven是Java领域广泛使用的项目管理工具,它能够帮助开发者完成项目的构建、文档生成、报告、依赖管理和软件生命周期管理等工作。通过本文的介绍,我们可以了解到Maven的基本概念、安装配置、基本使用和深入应用详解...
8. **错误修复和改进**:新版本通常会包含对之前版本中已知问题的修复,以及对用户反馈的改进,以提供更稳定、可靠的体验。 9. **更好的兼容性**:Maven 3.6.0可能增强了对Java新版本的支持,以及与其他开发工具...