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

上一篇博文中,主要介绍了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目录下生成一个所需要上传到仓库的文件:
Maven生成文件

接下来需要把这些文件上传到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提交成功

参考我的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存储空间,一般来说很够用了。

扫描二维码关注公众号,回复: 2890615 查看本文章

首先还是需要通过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命令,文件就直接上传到又拍云上了,相对七牛云来说方便很多。

猜你喜欢

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