Maven 上传本地包到仓库 (来源于同事(gagahjt)的笔记本)
1:将本地jar包导入到自己的Maven仓库
mvn install:install-file -Dfile=D:\\kaptcha-2.3.2.jar -DgroupId=com.google -DartifactId=kaptcha -Dversion=2.3.2 -Dpackaging=jar
2: 上传Maven包到私服
mvn deploy:deploy-file -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.2 -Dpackaging=jar -Dfile=/Users/dxlau/Downloads/kaptcha-2.3.2.jar -Durl=http://10.169.0.215:8081/nexus/content/repositories/third-party -DrepositoryId=third-party
DgroupId和DartifactId构成了该jar包在pom.xml的坐标,项目就是依靠这两个属性定位。自己起名字也行。
Dfile表示需要上传的jar包的绝对路径。
Durl私服上仓库的位置,打开nexus——>repositories菜单,可以看到该路径。
DrepositoryId服务器的表示id,在nexus的configuration可以看到。
Dversion表示版本信息,怎样得到一个jar包准确的版本呢?
解压该包,会发现一个叫MANIFEST.MF的文件,这个文件就有描述该包的版本信息。
比如Manifest-Version: 1.0可以知道该包的版本了。
上传成功后,在nexus界面点击3rd party仓库可以看到这包。
mvn deploy:deploy-file -DgroupId=org.apache.calcite -DartifactId=calcite-linq4j -Dversion=1.8.0 -Dpackaging=jar -Dfile=C:\\calcite-linq4j-1.8.0.jar -Durl=http://10.169.0.215:8081/nexus/content/repositories/third-party -DrepositoryId=third-party
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=C:\\ojdbc14-10.2.0.4.0.jar -Durl=http://10.168.0.49:8081/nexus/content/repositories/releases
扩展:
http://blog.csdn.net/woshixuye/article/details/8133050
致谢 gagahjt
************************************补充 2017-3-1***************************************************
一个jar 可能依赖对其它库的引用,如果使用上面的方式进行上传是无法表述出依赖关系的,所以要使用类似于下面的语句:
mvn deploy:deploy-file -DgroupId=org.a.b.c -DartifactId=mycomm -Dversion=1.0.2 -Dpackaging=jar -DpomFile=[path]\pom.xml -Dfile=[path]\comms-1.0.2.jar -Durl=http://10.168.100.118:8081/nexus/content/repositories/releases/ -DrepositoryId=releases