转载自:http://blog.csdn.net/xiao__gui/article/details/52640280

在上一篇博文中,主要介绍了Maven仓库搭建原理,除了Nexus外,随意使用一个HTTP服务器,例如Tomcat或Nginx,都可搭建一个自己的Maven仓库。

无论是用Nexus还是HTTP服务器搭建Maven仓库,总归需要一台服务器,一台服务器需要花钱买和花时间维护,成本比较大。Nexus一般是公司用的比较多,个人不推荐使用。本文就是介绍一些适合个人搭建Maven仓库的方式,相对来说比Nexus更方便、费用更低(基本是免费的)。

GitHub

首先在GitHub上新建一个repository,例如命名为maven-repo,用来当做Maven仓库。

再将需要上传到仓库的项目用mvn deploy命令生成需要上传的文件(例如jar、pom、md5、sha1等各种文件)。在该项目的pom.xml中加入:

<distributionManagement><repository><id>file-repository</id><url>file://D:\abc</url></repository>
</distributionManagement>

配置中url是文件生成的目录。运行mvn deploy命令,会在D:\abc目录下生成一个所需要上传到仓库的文件:

接下来需要把这些文件上传到GitHub上,这一步如果会使用Git命令的话应该会非常熟悉。进入D:\abc目录,运行以下命令将文件提交到GitHub:

git init
git add -A
git commit -m "first commit"
git remote add origin https://github.com/wucao/maven-repo.git
git push -u origin master

此时就可以在GitHub上看到这些文件:

参考我的GitHub个人仓库:https://github.com/wucao/maven-repo

GitHub项目对应的文件HTTP下载URL根目录是:
https://raw.githubusercontent.com/wucao/maven-repo/master/
路径是用户名+GitHub仓库名+分支。

现在Maven仓库已经可以立即使用了:

<repository><id>my-repository</id><url>https://raw.githubusercontent.com/wucao/maven-repo/master</url>
</repository>

七牛云存储

除了GitHub之外,七牛云存储也是一种几乎免费的Maven仓库的方案。七牛提供每月10G流量和10G存储空间,一般来说很够用了。

首先还是需要通过mvn deploy生成所需要上传的文件,步骤和上面GitHub搭建仓库一致,不同的是生成的文件不是上传到GitHub仓库,而是上传到七牛云存储。可以下载使用七牛提供的文件同步工具将目录同步到七牛上,具体使用文档:
http://developer.qiniu.com/code/v6/tool/qrsync.html

下载完成后将conf.json配置中的文件同步目录、七牛的bucket、accessKey、secketKey修改为自己的配置:

{"src": "D:\\abc","dest": "qiniu:access_key=<AccessKey>&secret_key=<SecretKey>&bucket=<Bucket>","debug_level": 1
}

运行qrsync即可上传目录下所有文件到七牛云。

在其他项目中配置七牛云的对外域名,上传到七牛云的jar包就可以在其他项目中直接使用了:

<repository><id>my-repository</id><url>https://odwnttj09.bkt.clouddn.com/</url> <!-- 这里是七牛云的对外HTTP地址 -->
</repository>

又拍云

实际上又拍云和七牛云基本是一样的,这里单独拉出来介绍,是因为又拍云提供了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中:

<project>...<distributionManagement><repository><id>ftp-repository</id><url>ftp://v0.ftp.upyun.com</url></repository></distributionManagement><build><extensions><!-- Enabling the use of FTP --><extension><groupId>org.apache.maven.wagon</groupId><artifactId>wagon-ftp</artifactId><version>2.10</version></extension></extensions></build>...
</project>

在settings.xml中加入FTP的用户名和密码:

<settings>...<servers><server><id>ftp-repository</id><username>操作员名/服务名</username><password>操作员的密码</password></server></servers>...
</settings>

这样直接运行mvn deploy命令,文件就直接上传到又拍云上了,相对七牛云来说方便很多。

Maven仓库搭建(二):GitHub、又拍云、七牛云存储相关推荐

  1. typora + smss / github / 又拍云 / 七牛云 图床

    配置文件如下: {"picBed": {"current": "smms","uploader": "smms ...

  2. 用多备份将网站数据备份到百度云,七牛云存储,阿里云OSS,亚马逊S3,金山云等云存储服务上

    真正运营过网站的人都知道,数据对一个网站来说至关重要,因此,网站数据备份也是日常必做工作.因为误操作,网站被攻击等种种原因都会导致数据丢失,这时,你才会明白"有备无患"的道理.备份 ...

  3. 在 Laravel 5 中集成七牛云存储实现云存储功能

    本扩展包基于https://github.com/qiniu/php-sdk开发,是七牛云储存 Laravel 5 Storage版,通过本扩展包可以在Laravel 5中集成七牛云存储功能. 1.安 ...

  4. 七牛云存储挂载到阿里云ECS上的目录下,达到扩容磁盘的效果

    七牛云存储挂载到阿里云ECS上,达到扩容磁盘的效果 1. 安装环境 yum install automake fuse fuse-devel gcc-c++ git libcurl-devel lib ...

  5. PbootCms阿里云OSS插件和七牛云存储插件

    特别注意事项 URL请填写全地址,如下图是阿里云OSS提供的Bucket域名,请填写完整这个域名. 插件介绍 增加图片上传到七牛云和阿里云OSS,可选择启用. 图片上传.编辑器上传图片均已接入云存储. ...

  6. 阿里云OSS转移至七牛云存储(详细简洁教程)

    阿里云OSS转移至七牛云存储 只需五步,将阿里云OSS的图片转移到七牛云 七牛云官方提供了工具和详细文档,文字比较多也比较详细,下面写一下简洁一点的 第一步:下载数据迁移工具(kodoimport) ...

  7. thinkphp6.0的第三方扩展包,支持上传阿里云,七牛云

    环境要求 1.php >= 7.1 2. thinkphp >= 6.0.0 支持 阿里云 七牛云 腾讯云 安装 第一步: $ composer require thans/thinkph ...

  8. 图片存储方案-七牛云存储

    1.引语 在实际开发中,我们会有很多处理不同功能的服务器.例如: 应用服务器:负责部署我们的应用 数据库服务器:运行我们的数据库 文件服务器:负责存储用户上传文件的服务器 分服务器处理的目的是让服务器 ...

  9. ueditor与七牛云存储结合

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:  ueditor与七牛云存储结合,主要是表单api. ueditor上传图片到七牛云存储 ueditor结合七牛传图片 ...

最新文章

  1. mysql 释放错误连接_JSP连接MySQL后数据库链接释放的错误
  2. php正则匹配js中变量_PHP正则表达式核心技术 第4节 php查找匹配函数使用心得
  3. SQLServer存储过程
  4. 怀旧服湖畔镇服务器位置,《魔兽世界怀旧服》今天再开10组新服 47组服务器免费转服开启...
  5. CentOS 7 firewall防火墙命令
  6. postman模拟文件上传接口
  7. html支持移动端吗,bootstrap支持手机端吗?
  8. anaconda中自带的qtdesigner做界面
  9. 应对“反洗钱”,银丰新融反洗钱自主监测系统为机构保驾护航
  10. AF_INET是什么?
  11. ORACLE常用数值函数、转换函数、字符串函数【转】
  12. 决定系数R2;残差平方和SSE;回归平方和SSR总平方和SST;
  13. 测试开发面试题及面试经验
  14. 教领导“做事”的新人,后来过得好吗?
  15. 微信公众号无法长按发送图片,长安反应慢
  16. Raspberry-Pi-PICO系列--第八篇 高级篇使用SWD接口下载和调试(第一章)
  17. 受够了百度网盘?如何注册无限容量的Google Drive网盘
  18. mysql 自动截断_MySql中关于超长自动截断的案例详解
  19. 计算机和人脑在线阅读,人脑与电脑课件.ppt
  20. 《MLB美职棒大联盟》:世界大赛最有价值球员奖

热门文章

  1. 什么叫云服务器_什么叫云计算,云计算是什么,最通俗的解释是这样的
  2. this.$router.go()和this.$router.push()的区别
  3. Android: 生成安卓可使用的Tflite文件
  4. Boost锁~临界区保护和临界资源共享
  5. android 标准字体,文字规范标准(IOS/Android)
  6. c语言模板程序,模板模式 (C语言实现)
  7. 对现代C++的一点看法
  8. shell重启jar包
  9. zookeeker如何解决HBase单节点故障
  10. MySQL多实例实现半同步复制