打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Maven学习笔记2——向repository上传artifact
使用Maven的一大难题,就是dependency和repository的管理,而由于官网的不堪忍受性,我们不得不使用local repository或者自建私服,在这种情况下,我们该怎么样处理第三方的依赖包呢?

1. 如果是本地的repository, 可以通过如下的脚本来安装:
mvn install:install-file  -Dfile=path-to-your-artifact-jar -DgroupId=your.groupId 
-DartifactId=your-artifactId -Dversion=your-version -Dpackaging=jar -DgeneratePom=true

2.如果是自建的私服,并且是第三方jar的话,就要通过webdav插件来上传,Maven2.0.5宣称它已经support natively webdav protocol
to upload artefacts,并且声称通过如下的命令行脚本就可以完成deploy的工作:
(参见http://docs.codehaus.org/display/MAVENUSER/Upload+artifacts)

mvn deploy:deploy-file -DrepositoryId=your-repository-id -Durl=dav:your-repository-url
-DgroupId=
your.groupId -DartifactId=your-artifactId -Dversion=your-version -Dpackaging=jar
-Dfile=jar-name

可以我们两个人花了半天的时间,才发现这些声明纯属扯淡!存在的问题如下:

1) 当前的Maven版本根本就没有对Webdav提供native的支持,
2) 我们仍然需要手工创建一个pom.xml,把它和jar包放在同一个目录下,
3
) 在pom.xml里面,我们还要指定webdav的扩展,同时,pom文件中还需要指定artifactId, groupId和version,
4
) pom文件的名字必须是pom.xml!错了就无法找到该文件!

下面是一个完整的pom.xml和命令行脚本:


 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   
  5.   <groupId>org.eclipse.swt</groupId>  
  6.   <artifactId>win32</artifactId>  
  7.   <version>3.2.0</version>  
  8.   
  9.   
  10.   <build>  
  11.     <extensions>  
  12.         <extension>  
  13.             <groupId>org.apache.maven.wagon</groupId>   
  14.             <artifactId>wagon-webdav</artifactId>   
  15.             <version>1.0-beta-1</version>   
  16.         </extension>  
  17.     </extensions>  
  18.   </build>    
  19. </project>  


命令行:

mvn deploy:deploy-file -Dfile=win32.jar -Durl=dav:http://localhost:8080/repository -DpomFile=pom.xml

如果是把项目的artifact往私服上上传,就要方便的多了,首先在pom中指定wagon-webdav的扩展,如上所示。然后加入distributionManagement:

 
  1. <distributionManagement>  
  2.  <repository>  
  3.   <id>YOUR_REPOSITORY_FOR_RELEASES_ID</id>  
  4.   <name>Central Repository</name>  
  5.   <url>dav:YOUR_REPOSITORY_FOR_RELEASES_URL</url>  
  6.  </repository>  
  7.  <snapshotRepository>  
  8.   <id>YOUR_REPOSITORY_FOR_SNAPSHOTS_ID</id>  
  9.   <name>Central Development Repository</name>  
  10.   <url>dav:YOUR_REPOSITORY_FOR_SNAPSHOTS_URL</url>  
  11.  </snapshotRepository>  
  12. </distributionManagement>  

之后就可以运行mvn deploy了
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Maven系列2--pom.xml 配置详解
Maven编译代码的相关命令
Intellij Ant打包reportng报程序包不存在错误
maven自导远程下载包,maven常用命令
学习maven的使用,看到一篇很实用的入门教程
Maven Dependency设置,详解!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服