Maven打包失败:程序包XXX不存在

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

**1.问题实质:**Maven仓库jar包下载失败或项目引入本地jar包Maven没有对应进行配置

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

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

3.解决步骤: (1)查看对应出错jar包的本地Maven仓库jar包是否下载完整

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

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

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

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

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

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
        <compilerArgs>
            <arg>-verbose</arg>
            <arg>-Xlint:unchecked</arg>
            <arg>-Xlint:deprecation</arg>
            <arg>-bootclasspath</arg>
            <arg>${env.JAVA_HOME}/jre/lib/rt.jar</arg>
            <arg>-extdirs</arg>
            <arg>${project.basedir}/src/main/webapp/WEB-INF/lib</arg>
        </compilerArgs>
    </configuration>
</plugin>

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

图片引自:https://www.cnblogs.com/water-1/p/11521209.html,此方法多人尝试成功但笔者没有解决。

**解决方案2:**修改pom文件,引入依赖并且将scope设置为system
https://img2018.cnblogs.com/blog/1320942/201903/1320942-20190321135823725-646580441.png

配置Maven打包插件

此方法亲测可行,但笔者引入的本地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

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

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

**解决方案4:**哪个模块找不到jar包就单独rebuild一下这个model,注意rebuild之后不要用maven的clean

rebuild完成之后再重新install

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值