qq_36160461
白苏s
采纳率0%
2021-01-18 14:34

Maven公司私服仓库下不到需要的依赖和jar包,我本地有全库,如何只加载本地库的jar包?

公司私服因为本人驻外原因已经不维护。很多下不到的jar包,我通过公司部门在公司的仓库拿到了全库包。但是替换到我的maven库中,我发现我在启动项目的时候,还是服务器一个个去私服去找,找不到就报错。

我这曾经屏蔽过一段pom代码

但是也不知道对不对

如何让本地项目maven先从本地库里面找,只加载本地库的jar和依赖,不通过私服进行下载

感谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • feichitianxia 木子雷 4月前

    因为如果本地maven仓库依赖jar目录下存在   _remote.repositories 文件,则需要去远程仓库进行加载的,将其删除后就不用去远程仓库了。

    点赞 2 评论 复制链接分享
  • feichitianxia 木子雷 4月前

    如果是windows系统,可以编写dos命令,在本地仓库目录下进行 搜索 _remote.repositories 文件,并将其删除,可以省去一个个去删除了,会方便很多;

    如果linux系统,则可以一样编写shell脚本; 例如下面的shell脚本:

    find / -name "uap*" | xargs rm -rf

    上面的这个脚本是 将根目录下 模糊查询出的  uap 相关的文件删除;

    dos命令不太熟悉,你可以自行去查下应该都有的。

    点赞 1 评论 复制链接分享
  • feichitianxia 木子雷 4月前

    可以试试看本地的maven仓库中依赖的 jar 目录下是否存在  _remote.repositories 文件 ,如果有将其删除后再试试项目中的依赖导入。

     

    点赞 1 评论 复制链接分享
  • feichitianxia 木子雷 4月前
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.5</version>
        <scope>system</scope>
        <systemPath>${basedir}/WebContent/WEB-INF/lib/hamcrest-core-1.3.jar</systemPath>
    </dependency>

    使用上面的  systemPath  方式,  但是 scope 必须设置为  system, 并且设置为了 scope 后打包时,此jar包将不会被打进包内;此方式只支持本地运行时可以,打包无法将此依赖jar包打进去。

    点赞 1 评论 复制链接分享
  • qq_36160461 白苏s 4月前

    多谢我看看!

    点赞 评论 复制链接分享
  • qq_36160461 白苏s 4月前

    我删除一下试试确实有点多。。

     

    点赞 评论 复制链接分享
  • qq_36160461 白苏s 4月前

    有没有直接自动只找本地库的方式,因为查的jar包太多了 这个命令我看到过 要下最少几十个。。

    点赞 评论 复制链接分享
  • feichitianxia 木子雷 4月前

    还有就是如果你的本地maven仓库中明明有依赖jar包的话,还是需要去远程的私服仓库中下载的话,可以看看你本地的maven仓库中这个 jar 目录下是否存在  _remote.repositories 文件  ,如果存在则将其删除,然后再试试;

    如果还是不行的话,可以使用下面的命令将 jar 包重新安装到本地maven仓库中,然后再项目中再进行依赖试试;注意:安装前需要将之前的此 jar包 目录删除掉;

    mvn install:install-file -Dfile=(参数一) -DgroupId=(参数二) -DartifactId=(参数三) -Dversion=(参数四) -Dpackaging=jar
     
    参数一:jar包的位置
    参数二:groupId
    参数三:artifactId
    参数四:version
    点赞 评论 复制链接分享

相关推荐