向 Maven2 代理 Mavenproxy 代码库添加中心库没有的 jar 包

有一些第三方库在 Maven2 的中心代码库里没有,但项目组需要,怎么办呢?

假设我们已经安装好了Maven-proxy系统,向Maven-proxy的Local Repository目录里加入相应的文件,

假设我们要添加ibatis-2.3.0.667.jar到 Mavne-proxy里,具体操作如下:

约定ibatis-2.3.0.667.jar 的 groupId = com.ibatis,artifactId = ibatis,version = 2.3.0.667
假设 Maven-proxy 的 LocalRepository路径为:/var/maven-proxy/target/repo

(1) 复制 jar 包到 Maven-proxy 的本地代码库

$ cd /var/maven-proxy/target/repo

$ mkdir com
$ mkdir com/ibatis
$ mkdir com/ibatis/ibatis
$ mkdir com/ibatis/ibatis/2.3.0.667

$ cp ibatis-2.3.0.667.jar /var/maven-proxy/target/repo/com/ibatis/ibatis/2.3.0.667

(2) 编写 pom 文件:

$ vi ibatis-2.3.0.667.pom

文件内容如下:
<project>  
    
<modelVersion>4.0.0</modelVersion>  
    
<groupId>com.ibatis</groupId>  
    
<artifactId>ibatis</artifactId>  
    
<version>2.3.0.667</version>
</project>

如果有依赖关系,可以将依赖关系描述在 pom 文件里。

(3) 制作 checksum 文件:

需要用Ant 来生成 jar 包和 pom 文件的 checksum 文件,建立build.xml,如下:
<project default="checksum">
  
<target name="checksum">
    
<checksum file="ibatis-2.3.0.667.jar" algorithm="SHA" fileext=".sha1"/>
    
<checksum file="ibatis-2.3.0.667.pom" algorithm="SHA" fileext=".sha1"/>
  
</target>
</project>

执行这个 Ant 任务

$ ant build.xml

会生成 ibatis-2.3.0.667.jar.sha1 和 ibatis-2.3.0.667.pom.sha1 文件,在项目的 pom.xml文件里就可以添加这个库了,添加如下 dependency:

    <dependency>
      
<groupId>com.ibatis</groupId>
      
<artifactId>ibatis</artifactId>
      
<version>2.3.0.667</version>
    
</dependency>

这样,mvn 会从 Maven-proxy那里下载这个库了。





原文地址:https://www.cnblogs.com/kylindai/p/800492.html