Springboot项目 maven Unknown 的终极解决方案

【现象】

在eclipse中import了一个maven项目后,在pom.xml文件第一行报Unknown的错误。

双击错误信息,会跳到第一行:

【原因定位】

经过maven clean、maven update project、重新import工程等多种尝试后,仍然显示Unknwon。

发现,如果修改pom文件,使maven不打jar包,而是打成war包,则不会报错。

所以猜想是maven打jar包过程中的问题。

项目要求为jar包,所以只能继续排查。

发现,Spring Boot 2.1.5 RELEASE将maven-jar-plugin从3.1.1升级到了3.1.2,尝试降级后问题解决。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=547340

 

【解决方案】

方案一

修改pom文件,将jar包改成war包。

<packaging>war</packaging>

 

方案二

Step1、在pom.xml文件,<properties>标签中,指定maven-jar-plugin.version的版本:3.1.1

<properties>
    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>

此时Unknown信息消失,但是会显示另外的错误:

Step2、按照提示Maven->Update Project,并且勾选Force Update,即可。

烦人的maven Unknown错误终于被干掉了。

 

/=/=/=/=/=/=/=/=/=/=/=/=/=/=/

沏一杯清茶,撸一行代码

/=/=/=/=/=/=/=/=/=/=/=/=/=/=/

 

 

Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.farmer.region.mapper.RegionMapper.selectValidCityCode at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:229) at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53) at org.apache.ibatis.binding.MapperProxy.lambda$cachedInvoker$0(MapperProxy.java:96) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) at org.apache.ibatis.util.MapUtil.computeIfAbsent(MapUtil.java:36) at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:94) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at com.sun.proxy.$Proxy277.selectValidCityCode(Unknown Source) at com.farmer.region.service.impl.RegionServiceImpl.loadValidCityCode(RegionServiceImpl.java:196) at com.farmer.region.service.impl.RegionServiceImpl.init(RegionServiceImpl.java:191) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ... 46 common frames omitted
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jason9211

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

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

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

打赏作者

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

抵扣说明:

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

余额充值