maven项目从外网向公司内网搬迁问题之找不到本地仓库已经有的jar包

今天,应客户要求,将公司的代码合并到客户的服务机上。

但是,在编译的时候,出现找不到本地的jar包。

问题描述

因为公司的代码添加了几个在lib下面的jar包以及引用了一些新的依赖,所说的这些是之前在客户那边服务机上没有的jar。

在合并后进行编译,就报找不到jar的错误。

简单描述如下:

1.Maven 本地仓库明明有jar包,pom文件还是报错 找不到包 。

2.无网络情况下项目用本地仓库已经有的jar包,maven却老是报找不到某些报。

3.maven项目找不到本地仓库已经存在的jar包

 

但是,本地仓库分明存在啊!!!

原因分析

原来,代码在公司中的私服仓库获取依赖已经走了一次转码,再次将代码放到客户机上获取客户那边的私服仓库,就会出现maven无法识别私服仓库。导致报找不到jar。

解决方案
方法一:

可通过在lib下添加报错的jar包,然后在pom.xml文件中以systemPath路径指定jar包的位置。

当然,这在少数jar包情况下是挺方便的,但不利于后期新增jar包进行管理。

        <dependency>
	  		<groupId>dom4j</groupId>
	  		<artifactId>dom4j</artifactId>
	  		<version>1.6.1</version>
	  		<scope>system</scope>
	  		<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/dom4j-1.6.1.jar</systemPath>
	  </dependency>

方法二:
在客户那边重新建立一个私服仓库,就是将公司的私服仓库拷贝到客户那边,这样就可以完美解决问题,同时对于后期维护也很方便。


版权声明:本文为JinKin_OldWang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。