主题:Maven学习笔记2——向repository上传artifact
来源:互联网 发布:word for mac 免费 编辑:程序博客网 时间:2024/05/21 06:59
使用Maven的一大难题,就是dependency和repository的管理,而由于官网的不堪忍受性,我们不得不使用local repository或者自建私服,在这种情况下,我们该怎么样处理第三方的依赖包呢?
1. 如果是本地的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=true2.如果是自建的私服,并且是第三方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_repo_id>your-repository-id -Durl=dav:your-repository-url <your_repo_url> -DgroupId=</your_repo_url></your_repo_id>your.groupId<your_repo_id><your_repo_url><group_id> -DartifactId=<artifact_id></artifact_id></group_id></your_repo_url></your_repo_id>your-artifactId<your_repo_id><your_repo_url><group_id><artifact_id> -Dversion=<version>your-version -Dpackaging=<packaging>jar -Dfile=jar-name<file_path>可以我们两个人花了半天的时间,才发现这些声明纯属扯淡!存在的问题如下:1) 当前的Maven版本根本就没有对Webdav提供native的支持,2) 我们仍然需要手工创建一个pom.xml,把它和jar包放在同一个目录下,3</file_path></packaging></version></artifact_id></group_id></your_repo_url></your_repo_id>)<your_repo_id><your_repo_url><group_id><artifact_id><version><packaging><file_path> 在pom.xml里面,我们还要指定webdav的扩展,同时,pom文件中还需要指定artifactId, groupId和version,4</file_path></packaging></version></artifact_id></group_id></your_repo_url></your_repo_id>)<your_repo_id><your_repo_url><group_id><artifact_id><version><packaging><file_path> pom文件的名字必须是pom.xml!错了就无法找到该文件!下面是一个完整的pom.xml和命令行脚本:</file_path></packaging></version></artifact_id></group_id></your_repo_url></your_repo_id>命令行:mvn deploy:deploy-file -Dfile=win32.jar -Durl=dav:http://localhost:8080/repository -DpomFile=pom.xml如果是把项目的artifact往私服上上传,就要方便的多了,首先在pom中指定wagon-webdav的扩展,如上所示。然后加入distributionManagement:
- <?xml version="1.0" encoding="UTF-8"?>
- <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">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.eclipse.swt</groupId>
- <artifactId>win32</artifactId>
- <version>3.2.0</version>
- <build>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-webdav</artifactId>
- <version>1.0-beta-1</version>
- </extension>
- </extensions>
- </build>
- </project>
之后就可以运行mvn deploy了
- <distributionManagement>
- <repository>
- <id>YOUR_REPOSITORY_FOR_RELEASES_ID</id>
- <name>Central Repository</name>
- <url>dav:YOUR_REPOSITORY_FOR_RELEASES_URL</url>
- </repository>
- <snapshotRepository>
- <id>YOUR_REPOSITORY_FOR_SNAPSHOTS_ID</id>
- <name>Central Development Repository</name>
- <url>dav:YOUR_REPOSITORY_FOR_SNAPSHOTS_URL</url>
- </snapshotRepository>
- </distributionManagement>
- 主题:Maven学习笔记2——向repository上传artifact
- Maven deploy向私有repository中上传artifact, 共项目组内部使用依赖包
- Software-artifact Infrastructure Repository 学习笔记 2:C Object Handbooky
- jar包上传maven私服出错Cannot deploy artifact from the local repository
- maven missing artifact 但是 jar 存在 repository
- Maven: 'org.apache.maven.artifact.repository.ArtifactRepository' cannot be instantiated
- Software-artifact Infrastructure Repository 学习笔记 1 :C Object Directory Specification
- 【Maven】仓库 ——repository
- maven向repository手工添加文件
- 树莓派学习笔记——定时向yeelink上传树莓派CPU温度
- 搭建maven私服——Nexus Repository
- Maven学习六:仓库-repository
- Github学习笔记2- Repository & Issue
- 解决:mvn archetype:create Abstract class or interface 'org.apache.maven.artifact.repository.ArtifactRe
- Invalid artifact repository: Repository identifier missingpom.xml
- 通过测试和代码告诉你Maven是如何使用mirror和repository的---学习笔记
- struts2学习笔记(十)——主题与模板
- Maven学习1之修改repository位置
- 域名解析文件hosts文件是什么?如何修改hosts文件?
- 线程及多线程的作用
- Hbase Load Balancing
- pom.xml配置详解,注释的很详细
- cryptoki of hsm
- 主题:Maven学习笔记2——向repository上传artifact
- Failed to create the Java Virtual Machine解决方案
- c语言基础之格式控制(一)
- [linux学习笔记]第3天:变量分类,重定向,管道命令,程序执行流,文本处理类命令, 正则表达式,短路操作符
- POJ3126 BFS
- UCGUI简介
- 用 GStreamer 简化 Linux 多媒体开发
- 跟我一起写 Makefile(浅显易懂版)
- 【转】struct sockaddr与struct sockaddr_in的区别和联系