maven打包:找不到符号 符号: 方法 getXxx()

Posted niceyoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven打包:找不到符号 符号: 方法 getXxx()相关的知识,希望对你有一定的参考价值。

前言

先交代一下我这边的情况,如若跟你想要的结果不符,勿喷。

聚合项目 + 使用过 mvn install 指令

详细描述

聚合项目,主模块 A 需要打 war 包,其他模块 BCD 需要打为 jar 包作为其依赖。

先看一下报错截图:

技术图片

这次的问题主要在于之前在打 war 包时,使用的 mvn install 指令,其依赖的 BCD 都被打进本地 Maven 仓库,而 BCD 改动后,由于没有加 clean执行, 再次执行并没有重新进行编译打包,致使新增的属性字段以及方法 not found

所以要弄清楚 mvn installmvn clean install 或者是 mvn package 的区别。

package命令:完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地 maven 仓库和远程 maven 私服仓库

install命令:完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地 maven 仓库,但没有布署到远程 maven 私服仓库

deploy命令:完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地 maven 仓库和远程 maven 私服仓库.

命令说明参考链接:https://blog.csdn.net/baidu_41632451/article/details/94742874

clean 的作用则是帮助你清除本地 jar、所以配合 install 就得到最新版本 jar 的效果了 > mvn clean install,同样的也可以使用 mvn clean package

但是需要注意的是,clean 是一件相对比较耗时的操作,如果没有修改其他模块,可放弃使用。

当然,如果你不想用 mvn clean 但是又想保持 jar 是最新版本,则可以使用 -Djar.forceCreation 参数,这个参数会强制更新 jar 包。

个人建议:为保险起见,建议使用 clean 指令。

解决方法

1、使用 mvn clean install 或者是 mvn clean package 重新进行打包操作。

2、使用 mvn install -Djar.forceCreation 或者 mvn pakcage -Djar.forceCreation

3、如果上边两种方法都试了,还是不行,直接找到自己的 maven 仓库地址,把 BCD 给删了,重新执行打包命令。

分享副业

分享一下最近在做的副业,赚点外快~

技术图片

以上是关于maven打包:找不到符号 符号: 方法 getXxx()的主要内容,如果未能解决你的问题,请参考以下文章

maven打包时报错:找不到符号,errors提示:符号:类 xxx位置:程序包 xxx.xxx

maven编译时候提示找不到符号怎么办

springboot项目打包时提示“程序包xxx不存在,找不到符号”

springboot项目打包时提示“程序包xxx不存在,找不到符号”

找不到符号 - Spring Boot Maven 兄弟作为依赖

IDEA使用Maven工具打包带有外部jar包时出错 - 提示程序包不存在和找不到符号