作为一个Java老程序员,多多少少都会有一些自己写的各种常用代码,如果每写一个项目都把这些代码拷贝一份到新项目比较麻烦的,打成jar包引入到项目会方便很多。如果想让这些jar包能通过Maven引入进项目,那就需要搭建Maven仓库。
说到Maven仓库搭建,很多人第一想到的一般都是Nexus。Nexus的确是非常好的方案,但是总归需要一台服务器,一台服务器需要花钱买和花时间维护,成本比较大。Nexus一般是公司用的比较多,个人不建议使用。
实际上除了Nexus外,还有很多Maven仓库的搭建方案。例如可以将Maven仓库搭建在GitHub等代码托管平台上,免费。甚至也可以搭建在七牛云、又拍云、阿里云对象存储OSS、腾讯云对象存储服务COS等云存储上,加上CDN可以有很快的下载速度,虽然云存储是收费的,但是一般都有免费额度,例如一个月10G流量,通常来说已经很够用了。
本篇博文主要内容是使用HTTP服务器搭建Maven仓库,用于学习Maven仓库搭建原理,并不是想替代Nexus。在本系列接下来的博文中会讲到如何用代码托管平台(如GitHub)、云存储平台(如七牛、阿里云OSS)来搭建Maven仓库。
Maven仓库搭建原理
首先,Maven有个中央仓库:http://repo.maven.apache.org/maven2/,里面包含很多常用的开源项目的包。
在自己项目的pom.xml文件中加入一个dependency,例如Spring框架的一个包:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
Maven会将仓库地址、groupId、artifactId、version四个部分拼接起来,得到最终的jar包下载地址:
http://repo.maven.apache.org/maven2/org/springframework/sp