{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
自己编写的jar,想要通过maven方式进行分发必须发布到maven仓库。如果没有自己的私服,我们可以使用折中的办法来实现。
maven客户端从maven仓库拉取构件时,实际上就是通过http协议去拉取对应仓库地址上的,对应目录中的metadata文件,查询需要的版本,就可以找到jar文件,下载到本机仓库。从而完成了依赖构件的拉取。
就是说,我们可以使用任何http服务器,按照一定的目录结构部署构件,从而当做一个私服来使用。
http服务器也没有?那好吧,悄悄告诉你,几乎所有的git服务都支持直接通过http访问指定文件的功能。(web界面中的raw按钮点击就会跳到这个地址)
本文以国内最流行(红薯看到一定笑的很开心)的git服务——码云为例,演示如何创建自己的私服。
首先登录码云,创建项目:
名称:mvnrepo是否公开:公开
其他随意填写,然后点“创建”按钮完成创建。
必须公开,否则maven无法使用它作为仓库。
那么你的项目路径应该是:https://gitee.com/{你的域名}/mvnrepo
比如我的仓库地址是:https://gitee.com/pollyduan/mvnrepo.git
首先明确这个git项目拉取到本机的位置,记住,有用。比如我拉取到/data/git/中。
cd/data/gitgitclonehttps://gitee.com/pollyduan/mvnrepo.git
此时,项目的目录为:/data/git/mvnrepo
修改本机maven仓库地址,只需要修改settings.xml中本机仓库的地址,注意,改配置文件有两个,maven会一次查找,以最后一个为准,所以要修改最后一个。
$m2_home/conf/settings.xml~/.m2/settings.xml
将仓库地址修改为:
如果你要直接安装一个现有的jar:
mvninstall:install-file-dgroupid=com.oracle-dartifactid=ojdbc14-dversion=10.2.0.5-dpackaging=jar-dfile=ojdbc14.jar
如果你要将maven项目打包安装:
mvninstall
注意,这时会把项目的依赖以及maven的一些依赖也放到当前的临时仓库里去了。
如果你的目录很清晰,比如我要发布的包都在com.pollyduan中,也可以不用清理,但注意不要提交到git服务器上去。
否则,就需要手动把不要的包都删掉。
这里整明白以后,提交一个commit,并push到远端仓库去。
cd/data/git/mvnrepoecho'#写点什么吧'>readme.mdgitaddreadme.mdgitaddcom/pollyduangitcommit-m'初始化仓库'gitpush获取私服地址
回到gitee仓库的web站,如:https://gitee.com/pollyduan/mvnrepo
点击仓库中的readme.md文件,然后点击原始数据按钮,这时候会弹出新的窗口显示文件。
复制浏览器中的地址:
https://gitee.com/pollyduan/mvnrepo/raw/master/readme.md
把这个地址中的/readme.md去掉,就是你的私服地址了:
https://gitee.com/pollyduan/mvnrepo/raw/master
帅帅的。
由于我们的私服里只有我们要发布的jar,其他各种jar都没有,因此不要把这个私服作为全局的镜像,切记切记。
在pom文件中project元素的下一层增加如下配置:
现在你可以愉快地使用私服了。
如果你需要把项目分发其他人,它也可以方便的获取到你的依赖。
码(ke)云(bie)无(dang)敌(zhen)。
好吧,还得啰嗦一句:完了建议把settings.xml中的本机仓库地址改回去,要不然以后这个私服项目管理恐怕是个麻烦事。