您的位置:首页 > 编程语言

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

2017-02-09 13:59 316 查看
转载自: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命令,文件就直接上传到又拍云上了,相对七牛云来说方便很多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: