通过maven,给没有pom文件的jar包生成pom文件,maven项目引入本地jar包

通过maven,给没有pom文件的jar包生成pom文件,maven项目引入本地jar包问题一 经常遇到公司私服或者中央仓库没有的 jar 包 然后通过各种渠道找到了解决问题的 jar 包 但是发现没有 pom 文件 maven 项目引入之后 还有 maven 在本地仓库找不到对应 jar 包的 pom 文件 打包的时候会在私服下载对应 jar 包的 pom 文件而抛出异常 通过 maven 就可以解决这个问题 前提是你安装了 maven 然后在命令行执行命令就 OK 了 ERROR Failedtoex

问题一:

经常遇到公司私服或者中央仓库没有的jar包,然后通过各种渠道找到了解决问题的jar包,但是发现没有pom文件,maven项目引入之后,还有maven在本地仓库找不到对应jar包的pom文件,打包的时候会在私服下载对应jar包的pom文件而抛出异常,通过maven就可以解决这个问题。前提是你安装了maven,然后在命令行执行命令就OK了!!!

[ERROR] Failed to execute goal on project AccountEJob: Could not resolve dependencies for project AccountEJob:AccountEJob:jar:1.1.1: Failed to collect dependencies at org.apache.hive:hive-jdbc:jar:1.2.1000.2.6.1.0-129: Failed to read artifact descriptor for org.apache.hive:hive-jdbc:jar:1.2.1000.2.6.1.0-129: Could not transfer artifact org.apache.hive:hive-jdbc:pom:1.2.1000.2.6.1.0-129 from/to nexus (http://XXX.XXX.XXX.XXX:8081/nexus/content/groups/public): Connect to XXX.XXX.XXX.XXX:8081/ [/XXX.XXX.XXX.XXX:8081/] failed: Connection timed out: connect -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

命令:

mvn install:install-file -DgroupId=novaplanet.net -DartifactId=commons-lang -Dversion=2.5 -Dfile=F:/commons-lang-2.5.jar -Dpackaging=jar -DgeneratePom=true
DgroupId:项目组织唯一的标识符,自己随便起名
DartifactId:项目唯一的标识符,自己可以随便起
Dversion:项目版本
Dfile:jar包路径(绝对路径)
DgeneratePom:是否生成pom文件,ture:生成,false:不生成










执行成功,会在本地的maven jar包目录看到以下结果

通过maven,给没有pom文件的jar包生成pom文件,maven项目引入本地jar包

问题二:

自己本地的jar包,公司私服上没有,如何引用?先在项目的resource目录下新建lib文件夹,然后将你本地的jar包copy过去(这种最好上传至公司私服)

通过maven,给没有pom文件的jar包生成pom文件,maven项目引入本地jar包

在maven的配置如下:

 
   
    
    
      novaplanet.net 
     
    
      javapns-jdk16-163 
     
    
      1.2 
     
    
      system 
     
    
      ${project.basedir}/src/main/resources/lib/javapns-jdk16-163-1.2.jar 
     
    
  

build插入下面配置:

 
   
    
     
     
       org.springframework.boot 
      
     
       spring-boot-maven-plugin 
      
      
      
        true 
       
      
     
    
  

我的实例配置:

 
   
   
   
     4.0.0 
    
   
     com.teset 
    
   
     demo 
    
   
     0.0.1-SNAPSHOT 
    
   
     jar 
    
   
     demo 
    
   
     Demo project for Spring Boot 
    
    
    
      org.springframework.boot 
     
    
      spring-boot-starter-parent 
     
    
      2.0.3.RELEASE 
     
     
     
    
    
    
      UTF-8 
     
    
      UTF-8 
     
    
      1.8 
     
    
    
     
     
       org.springframework.boot 
      
     
       spring-boot-starter-web 
      
     
     
     
       org.springframework.boot 
      
     
       spring-boot-starter-test 
      
     
       test 
      
     
     
     
       novaplanet.net 
      
     
       bcprov-jdk16-145 
      
     
       1.2 
      
     
       system 
      
     
       ${project.basedir}/src/main/resources/lib/bcprov-jdk16-145-1.2.jar 
      
     
     
     
       novaplanet.net 
      
     
       commons-lang 
      
     
       2.5 
      
     
       system 
      
     
       ${project.basedir}/src/main/resources/lib/commons-lang-2.5.jar 
      
     
     
     
       novaplanet.net 
      
     
       javapns-jdk16-163 
      
     
       1.2 
      
     
       system 
      
     
       ${project.basedir}/src/main/resources/lib/javapns-jdk16-163-1.2.jar 
      
     
    
    
     
      
      
        org.springframework.boot 
       
      
        spring-boot-maven-plugin 
       
       
       
         true 
        
       
      
     
    
   

引入之后,编译项目,编译成功不一定代表引入成功了,接着打包,看jar包中的classes下的lib中有没有你需要引入的jar包

通过maven,给没有pom文件的jar包生成pom文件,maven项目引入本地jar包

问题三:本地maven仓库有很多.lastUpdated结尾的文件,这是为什么?

1、可能是jar的坐标有问题,即groupId、artifactId、version拼写有问题;

2、jar包压根就不存在;

3、私服镜像地址有问题;

4、网络问题,比如本地无法使用ipv6网络,需要强制指定ipv4,具体操作请查看这篇文章

由于以上问题,导致jar包无法下载,会在对于的路径下,生成.lastUpdated文件,所以我们需要删除本地仓库.lastUpdated重新下载,要不然会影响再次下载和后续的编译运行。

linux、macos环境下,批量删除

find 私服路径 -name "*lastUpdated*" | xargs rm -rf
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208419.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:38
下一篇 2026年3月19日 上午11:38


相关推荐

  • CTK框架介绍

    CTK框架介绍转(http://blog.csdn.net/xinqidian2015/article/details/50537325)CTK插件框架可以简单的描述为C++的动态组件系统DesignCTK插件框架的设计有很大的灵感来自OSGi并且使得应用程序由许多不同的组件组合成一个可扩展模型。这个模型允许通过那些组件间共享对象的服务通信。框架的分层模型被展示在图片1中包括:P

    2022年6月5日
    234
  • Ubuntu安装jdk8的两种方式[通俗易懂]

    Ubuntu安装jdk8的两种方式[通俗易懂]安装方式:1):通过ppa(源)方式安装.2):通过官网安装包安装.JDK官网下载地址一:使用ppa(源)方式安装:1):添加ppa源sudoadd-apt-repositoryppa:webupd8team/javasudoapt-getupdate2):安装oracle-java-installer(jdk8版本)sudoapt-getinstallorac…

    2022年7月12日
    16
  • java编码native2ascii下载_native2ascii.exe

    java编码native2ascii下载_native2ascii.exenative2ascii.exe是一款好用的转码工具,主要用于字符转码和反转码,在Java开发过程中总会出现一些乱码问题或者无法正确识别读取的问题,这时候就需要进行转码,可对属性文件和其他字符编码进行转换,从而解决上述问题。需要的Java开发人员可下载!基本介绍native2ascii工具是对属性文件和其他字符编码进行相互转换。在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的…

    2025年10月30日
    5
  • SpringMVC 上下文webApplicationContext

    SpringMVC 上下文webApplicationContext

    2022年1月1日
    77
  • Vue进阶(四十七):面试必备:2022 Vue经典面试题总结(含答案)

    Vue进阶(四十七):面试必备:2022 Vue经典面试题总结(含答案)面试必备:2019Vue经典面试题总结(含答案)一、什么是MVVM?MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View代表UI组件,它负责将数据模型转化成UI展现出来,ViewModel是一个同步View和Model的对象。在MVVM架构下,View和Mod…

    2022年6月13日
    51
  • word2vec训练中文词向量

    word2vec训练中文词向量词向量作为文本的基本结构——词的模型。良好的词向量可以达到语义相近的词在词向量空间里聚集在一起,这对后续的文本分类,文本聚类等等操作提供了便利,这里简单介绍词向量的训练,主要是记录学习模型和词向量的保存及一些函数用法。一、搜狐新闻1.中文语料库准备本文采用的是搜狗实验室的搜狗新闻语料库,数据链接http://www.sogou.com/labs/resource/cs.php下载下来的…

    2022年6月12日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号