部署一个独立的Jar包到远端maven 仓库

必备环境:

  • 推荐Java jdk 1.6及以上
  • 推荐maven 3.0.0以上

假定我们需要将C:/ sqljdbc4.jar部署到我们的仓库服务器(http://yourrepo.com/nexus)
首先我们需要在本地配置maven的server节点,该节点用于从仓库下载或者上传包时用于进行身份验证。(下载是可能会用到,视仓库服务器设置而定。)
通常允许上传到两种仓库:Snapshots、Releases,分别为快照版仓库,主要用于存放不稳定的开发包,后者用于存放稳定版本的包。
节点内添加如下内容:

1
2
3
4
5
6
7
8
9
10
<server>
<id>snapshots</id>
<username>你的用户名</username>
<password>你的密码</password>
</server>
<server>
<id>releases</id>
<username>你的用户名</username>
<password>你的密码</password>
</server>

打开cmd,将其定位到你要上传的jar包的文件夹:
类似地输入以下命令:

1
mvn deploy:deploy-file –DgroupId=com.huacloud.jar –DartifactId=sqljdbc4 –Dversion=1.0.0 –Dpackaging=jar –Dfile=sqljdbc4.jar –DrepositoryId=snapshots –Durl=http://222.197.188.5:9000/nexus/content/repositories/snapshots

需要注意的是 –Dversion 、 -DrepositoryId 、-Durl 是对应的,如版本是snapshot ,仓库id 也应该是snapshot仓库的ID,仓库地址也需要填写snapshot仓库的url。
如果cmd 当前路径与jar包的路径在同一文件夹下,-Dfile 直接写文件名即可,如果不在同一个目录下,需要在-Dfile 后面写上文件的绝对路径。

如果当你运行上述命令时出现如下的错误:
The goal you specified requires a project to extcute but there is no POM in this directory. Please verify you invoked Maven from the correct directory.

通常是由于操作系统之间的差异,你可以尝试这样:

1
"–DgroupId=com.huacloud.jar"

给所有的参数就加上双引号包起来。应该就可以解决问题了。
Maven deploy jar to remote repo