項目使用docker打包,由maven的插件切換谷歌jib,發現原來的項目會提示方法不存在,
java.lang.NoSuchMethodError: com.zcckj.common.utils.JsonUtils.toJsonString(Ljava/lang/Object;)Ljava/lang/String;
可是原來插件打包的項目,包括現在本地啓動都是ok的!
排查方式:
使用-verbose:class查看類加載:
[Loaded com.zcckj.common.utils.JsonUtils from file:/app/libs/zc-component-common-1.1.9.jar]
發現這個類是從一個老項目的jar裏面取的,而這個方法不是最新的,所以NoSuchMethodError
解決法案:
<exclusion> <artifactId>zc-component-common</artifactId> <groupId>com.zcckj.component</groupId> </exclusion>
重新啓動,ok!