无论是用Nexus还是HTTP服务器搭建Maven仓库,总归需要一台服务器,一台服务器需要花钱买和花时间维护,成本比较大。Nexus一般是公司用的比较多,个人不推荐使用。本文就是介绍一些适合个人搭建Maven仓库的方式,相对来说比Nexus更方便、费用更低(基本是免费的)。
GitHub
首先在GitHub上新建一个repository,例如命名为maven-repo,用来当做Maven仓库。
再将需要上传到仓库的项目用mvn
deploy命令生成需要上传的文件(例如jar、pom、md5、sha1等各种文件)。在该项目的pom.xml中加入:
1
|
<distributionManagement>
|
配置中url是文件生成的目录。运行mvn
deploy命令,会在D:\abc目录下生成一个所需要上传到仓库的文件:mvn
deploy生成的文件
接下来需要把这些文件上传到GitHub上,这一步如果会使用git命令的话应该会非常熟悉。进入D:\abc目录,运行以下命令将文件提交到GitHub:
1
|
git init
|
此时就可以在GitHub上看到这些文件:GitHub提交成功
参考我的GitHub个人仓库:https://github.com/wucao/maven-repo
GitHub项目对应的文件HTTP下载URL根目录是:
https://raw.githubusercontent.com/wucao/maven-repo/master/
路径是用户名+GitHub仓库名+分支。
现在Maven仓库已经可以立即使用了:
1
|
<repository>
|
例如在pom.xml中加上:
1
|
<dependency>
|
实际上Maven会根据<repository>中的URL加上<dependency>中的groupId、artifactId、version生成一个完整的文件下载的HTTP地址,例如生成的jar包下载地址:
https://raw.githubusercontent.com/wucao/maven-repo/master/com/xxg/cloudstorage/cloudstorage/1.0.0/cloudstorage-1.0.0.jar
七牛云存储
除了GitHub之外,七牛云存储也是一种几乎免费的Maven仓库的方案。七牛提供每月10G流量和10G存储空间,一般来说很够用了。
首先还是需要通过mvn
deploy生成所需要上传的文件,步骤和上面GitHub搭建仓库一致,不同的是生成的文件不是上传到GitHub仓库,而是上传到七牛云存储。可以下载使用七牛提供的文件同步工具将目录同步到七牛上,具体使用文档:
http://developer.qiniu.com/code/v6/tool/qrsync.html
下载完成后将conf.json配置中的文件同步目录、七牛的bucket、accessKey、secketKey修改为自己的配置:
1
|
{
|
运行qrsync即可上传目录下所有文件到七牛云。
在其他项目中配置七牛云的对外域名,上传到七牛云的jar包就可以在其他项目中直接使用了:
1
|
<repository>
|
除了七牛之外,阿里云对象存储OSS、腾讯云对象存储服务COS等也都是不错的选择,原理和七牛类似。
又拍云
又拍云和七牛云原理差不多,这里单独拉出来介绍,是因为又拍云提供了FTP文件上传。Maven Deploy插件可以直接在运行mvn deploy命令时将文件上传到FTP服务器上。
首先根据又拍云文档,拿到FTP服务器的地址、用户名和密码:
http://docs.upyun.com/guide/#ftpftps
地址:v0.ftp.upyun.com
用户名:操作员名/服务名
密码:操作员的密码
然后根据Maven Deploy插件的文档:
https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ftp.html
将以下配置加到pom.xml中:
1
|
<project>
|
在settings.xml中加入FTP的用户名和密码:
1
|
<settings>
|
这样直接运行mvn deploy命令,文件就直接上传到又拍云上了,相对七牛云来说方便很多。