第一个重要属性是type仓库类型。主要有group、hosted、proxy、virtual四种类型。不同类型的仓库有不用的作用和工作模式,一般只需要关注group、hosted、proxy三种类型。由于nexus oss上面可以有多个maven仓库,但是maven这个工具要求使用groupId:artifactId:version这三个参数就能唯一确定一个项目,因此nexus oss使用group类型的仓库来决定nexus oss上各个maven仓库的优先级,以解决不同maven拥有相同项目的冲突。proxy类型的仓库其实只是个代理,用于代理其他服务器上的maven仓库。hosted类型是nexus oss自己所在服务器本地的maven仓库,也是我们这次主要使用的仓库类型。
Repository Path是仓库的地址,把自己的项目发布到maven和引用maven仓库中项目的时候需要用到。
选择一个仓库后,可以在下面窗口中看到这个仓库的具体信息,其中Configuration标签页中可以对仓库进行设置。
我们的目的是要将我们自己的项目发布到我们自己的服务器上去,因此我们要选择hosted类型的仓库,以免公司内部的代码外泄出去(当然服务器也得是内网的服务器,公网能访问到的服务器,发布上去的代码也有一定的风险)。对于我们要使用的hosted类型的仓库,重点要看的是里面的Repository Policy仓库存储协议,有release和snapshot两种,release表示发行版,snapshot表示快照版本。还有一个Deployment Policy部署协议,有Allow Redeploy(允许部署)、Disable Redeploy(不允许部署)、Read Only(只读)三种模式。只有在Allow Redeploy模式下,我们才有权限可以将我们的项目发布到这个项目中。nexus oss默认已经建立了Releases和snapshots两个hosted仓库,我们检查一下配置就可以直接拿来用,当然你也可以自己建立hosted仓库。