你好,游客 登录 注册 发布搜索
背景:
阅读新闻

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

[日期:2016-09-27] 来源:叉叉哥的BLOG  作者: [字体: ]

无论是用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

用户名:操作员名/服务名

密码:操作员的密码

将以下配置加到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 命令,文件就直接上传到又拍云上了,相对七牛云来说方便很多。

收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论