解决maven打包失败:程序包xxxx不存在问题

用Maven引入本地jar包这种做法非常不合理,很容易导致团队jar包混乱,最好尝试搭建私服解决。

1.问题实质

Maven仓库jar包下载失败或项目引入本地jar包Maven没有对应进行配置

2.问题原因

(1)因网络或其他原因导致Maven下载jar包到本地仓库失败

(2)项目引入本地jar包,只在编译器里进行了配置而没有在Maven中进行配置

3.解决步骤

(1)查看对应出错jar包的本地Maven仓库jar包是否下载完整

解决maven打包失败:程序包xxxx不存在问题_第1张图片

如果如上图所示将文件删掉重新下载即可。

(2)如果出现在编译器中可以找到jar包,但是用Maven打包报错:

解决maven打包失败:程序包xxxx不存在问题_第2张图片

就要查看一下项目是否引入本地jar包但Maven没有对其进行配置。

解决方案1

找到存放第三方jar包文件夹 (例如src/main/webapp/WEB-INF/lib)右键AddasLibrary加入项目运行库:

解决maven打包失败:程序包xxxx不存在问题_第3张图片

然后配置Maven打包插件扫描额外jar包


    org.apache.maven.plugins
    maven-compiler-plugin
    3.1
    
        1.8
        1.8
        UTF-8
        
            -verbose
            -Xlint:unchecked
            -Xlint:deprecation
            -bootclasspath
            ${env.JAVA_HOME}/jre/lib/rt.jar
            -extdirs
            ${project.basedir}/src/main/webapp/WEB-INF/lib
        
    

其中${project.basedir}为项目根结点

解决maven打包失败:程序包xxxx不存在问题_第4张图片

图片引自:https://www.jb51.net/article/240010.htm,此方法多人尝试成功但笔者没有解决。

解决方案2

修改pom文件,引入依赖并且将scope设置为system

解决maven打包失败:程序包xxxx不存在问题_第5张图片

配置Maven打包插件

解决maven打包失败:程序包xxxx不存在问题_第6张图片

此方法亲测可行,但笔者引入的本地jar数量太多,一个一个写估计会累死。

解决方案3

将jar包安装至本地仓库后使用pom文件直接引入,进入需要引入的jar目录,执行以下命令

mvn install:install-file -Dfile=druid-1.1.4.jar -DgroupId=com.alibaba -DartifactId=druid -Dversion=1.1.4 -Dpackaging=jar

执行后在本地仓库中看到如下文件,说明安装成功

解决maven打包失败:程序包xxxx不存在问题_第7张图片

此方法亲测可行,理由同上,引入本地jar太多。

解决方案4

哪个模块找不到jar包就单独rebuild一下这个model,注意rebuild之后不要用maven的clean

解决maven打包失败:程序包xxxx不存在问题_第8张图片

rebuild完成之后再重新install

简单粗暴,方便快捷,非常适合维护老项目。新项目就别这么搞了,老老实实建私服吧。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(解决maven打包失败:程序包xxxx不存在问题)