Maven发布项目到私服

首先在项目的pom.xm文件中配置:

<distributionManagement>

<repository>

<id>releases</id>

<name>releases repo</name>

<url>http://localhost:8081/nexus/content/repositories/releases/</url>

</repository>

<snapshotRepository>

<id>snapshots</id>

<name>snapshots repo</name>

<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>

</snapshotRepository>

</distributionManagement>

通过右击pom.xml--->run as--->run configurations在goals中输入 clean deploy 发布项目,在maven控制台会报这样的一个错误: Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1][ERROR]    这是是因为我们还没有获得发布项目到私服上的权限,需要在settings.xml中的servers节点下配置:

<server>

<id>releases</id> //指向repository的id

<username>deployment</username>

<password>deployment123</password>

</server>

<server>

<id>snapshots</id>

<username>deployment</username>

<password>deployment123</password>

</server>

此时我们就可以看到snapshots仓库中发布的项目.

有时候一个公司可能同时开发几个不同的项目,这个时候我们希望将不同的项目发布到不同的仓库中,并且对于每一个项目只能有该项目的开发人员发布项目到指定的仓库中去,在这个时候我们就需要通过基于角色的权限管理来实现,例如有role1、role2两个不同的角色可以是实现不同的操作,我们通过将role1分配给用户user1、user2,将role2分配给用户user3,user4,这样不同的用户就具有不同的权限。

选择hosted Repository

再次选择hosted Repository,创建snapshot类型的仓库

接下来选择security下的privileges,然后点击add按钮选择Repository Target Privilege,来配置允许对仓库进行的操作

接下来创建角色:

选择security下的roles ,同样单击add 选择nexus role

接下来创建用户并且分配角色:

选择security下的users ,同样单击add 选择nexus user

此时在项目的pom.xml中配置:

<distributionManagement>

<repository>

<id>releases</id>

<name>releases repo</name>

<url>http://localhost:8081/nexus/content/repositories/myReleases/</url>

</repository>

<snapshotRepository>

<id>snapshots</id>

<name>snapshots repo</name>

<url>http://localhost:8081/nexus/content/repositories/mySnapshots/</url>

</snapshotRepository>

</distributionManagement>

在settings.xml中配置:

<server>

<id>releases</id>

<username>nexus</username>

<password>nexus123</password>

</server>

<server>

<id>snapshots</id>

<username>nexus</username>

<password>nexus123</password>

</server>

</servers>

项目就可以发布成功。

时间: 2024-10-13 21:59:53

Maven发布项目到私服的相关文章

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository.如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦.例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦.为了避免这些不必要的麻烦,通常我们会通过Nexus搭建私有的仓库.下面着重介绍下怎么通过mvn命令将程序打包并发布到私有仓库Nexus中.

Maven发布工程到私服和JUnit的安装使用

端碗吹水 Maven发布工程到私服: 所谓发布工程就是把工程打包成jar包,然后选择上传到私服的某个仓库里,然后其他人就可以在[学Java,到凯哥学堂kaige123.com]私服上的仓库中下载到你发布的工程. 简单介绍Nexus上自带的一些仓库: 如果想要发布工程是需要一个拥有发布权限的用户的,没有发布权限的游客或者普通用户只能够下载或更新. 简单介绍Nexus上自带的一些账户: 现在尝试上传一个jar包到私服: 1.选择一个仓库,然后将仓库的地址配置到工程的pom文件中,我这里用Snapsh

Maven发布项目丢失Mybatis Mapper包的映射问题

由于一些eclipse版本问题,mybatis的mapper包中的sql文件没有被打进包,需要在pom中加入: <build> <!--配置打包时不过滤非java文件开始 --> <!--说明,在进行模块化开发打jar包时,maven会将非java文件过滤掉, xml,properties配置文件等,但是这些文件又是必需的, 使用此配置可以在打包时将不会过滤这些必需的配置文件. --> <resources> <resource> <dir

剑指架构师系列-持续集成之Maven实现项目的编译、发布和部署

Maven组织项目进行编译.部署 Maven项目基本的结构说明如下: mazhi  // 控制所有荐的编译.部署.发布 mazhi-app-parent  // 项目的父项目,有一些公共的设置可以被子项目继承 mazhi-core  // 基础服务项目,例如公共类等 mazhi-xxx 其中mazhi和mazhi-app-parent是pom格式,而mazhi-core是jar格式,还可以是 war等格式. 我们以新建mazhi和mazhi-core项目为例说明一下. 新建Maven-proje

JAVAWEB开发之Maven的入门详解——Maven的安装以及项目的结构和Maven的使用以及私服的搭建与配置

什么是Maven? 翻译为专家,内行.Maven是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,项目管理和项目信息管理.那么怎么样才算是理想的项目构建呢?理想的项目构建就是必须具备高度自动化,跨平台,可重用的组件,标准化这些特性. 什么是依赖?为什么要进行依赖管理? - 所谓的依赖就是自动下载.进行依赖管理主要是为了统一的对这些依赖进行管理. 都有哪些项目信息? -项目名称描述,开发者信息,开发人员信息,项目的版本号等等. 什么项目构建? - 所谓的项目构建就是对项目进行清理.编译

Maven发布web项目到tomcat

在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大量的精力.然而,开源世界并没有让java开发人员在这方面耗费过多的精力. Apache提供了Maven工具,对项目进行自动化的构建和发布.只需要在Maven的pom.xml文件中加入相应的配置项,剩余的工作交给maven就可以了.然而去喝杯茶做个安安静静的美男子.然而除了Maven外还有Gradle

项目构建之maven篇:8.maven发布web工程及基于spring mvc,jetty实现的用户管理demo

web工程目录结构 pom/pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&qu

IntelliJ IDEA 2016 2.5 安装 并使用其新建一个maven web项目部署发布

1.近来在家码代码,发现myeclipse建maven管理的项目时非常卡,时不时就update,myeclipse真的是忍了好久了,太卡了, 我的主机都是i5 6500的处理器,内存八G,还ka,,,myeclipse我真的不能再爱你了 2.强烈推荐一款java ee开发工具,intelliJ idea,不说别的就单单建maven项目不卡这一点就强烈推荐: 3.下载地址如下https://www.jetbrains.com/idea/download/#section=windows:选择uti

Gradle初探(三):发布项目到Nexus资源库

4. 发布项目 在公司开发中,如果采取Maven这种项目构建方式的,一般都会架设一个Nexus Maven私服在公司服务器上,一些公司积累的资源组件和中央库没有提供的资源,以及一些项目都会发布到私服中,然后开发人员可以通过Maven在具体开发时导入内部资源.那么既然现在要用gradle替换Maven,那么这个需求则需要满足,通过查看官方文档,可以通过引入'maven-publish'实现.具体添加的配置如下: ....... apply plugin: 'maven-publish'//添加Ma