【好记性不如烂笔头】记一次奇怪的“找不到符号”问题

项目场景:

  写了一个方法,输入一个Integer集合,根据集合的内容,生成对应的时间范围,比如输入{1,2},输出一个对象集合,对象里有startDate\endDate\year\month\displayName参数。


问题描述

  自测main方法,idea没有提示有问题,但是一旦构建就出现 找不到符号,简直挠破头皮
在这里插入图片描述
在这里插入图片描述
  难不成构建用的是历史的数据,那我maven clear一下再试试,果然clear之后再次构建就成功了
在这里插入图片描述
在这里插入图片描述
吐血
  本以为好了,开始maven打包,结果还是出问题了,提示 找不到符号,明明有的:
在这里插入图片描述
在这里插入图片描述
  不信邪的我,开始给maven 换一个打包命令,加上-e,虽然耗时很久,但结果成功了……
在这里插入图片描述


原因分析:

第一次打包命令:mvn clean package -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true
第二次打包命令:mvn -U clean compile install -e -X -Dmaven.test.skip=true

说明:
mvn clean 清空生成的文件
mvn package 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn -Dmaven.compile.fork=true 参数,用以指明多线程进行编译
mvn -U 强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖);
mvn compile 编译你的项目
mvn install -Dmaven.test.skip=true 把自定义的maven项目,安装至本地仓库,跳过测试
mvn -e, --errors 控制Maven的日志级别,产生执行错误相关消息;
mvn -X, --debug 控制Maven的日志级别,产生执行调试信息;
分析:
package:将包打到自己的target下
install:将包打到自己的target下,且上传到本地仓库给其他项目使用
结论:
我总是用package打包,但是引用的maven本地仓库里的其他模块的jar还是老的,所以总是找不到,修改成了install,重新上传了一下。


解决方案:

  1. 执行了mvn clean,构建通过,main方法执行正常。
  2. 执行了mvn -U clean compile install -e -X -Dmaven.test.skip=true,整个项目打包正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泪梦殇雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值