昨天出现了一个问题java.lang.NoClassDefFoundError.

由于在pom中加入了一个新的A包,这个包依赖了另外一个新版本的B jar,项目中原本有B的低版本,编绎的时候可以通过,但是运行的时候就会报上述异常。mvn clean了好多次,reimport好多次,生成的war目录里面就是没有新版本的B jar。

  1. 尝试将这个包手动在IDEA 项目配置里面的dependencies中去,这样做不好,这些依赖是由IDEA根据pom解析后自动生成的。
  2. 最后想起来打包的配置都在artifacts中配置的,果断去里面加上这个依赖。再次运行就可以了。

按说IDEA会自动在artifacts中加入这个新的jar包才对。最开始想的是不是pom配置的有问题,一直在从这个方面去解决。

最后发现还是依赖配置的有问题,版本不同的话会导致出现这样的问题,解决方法看另外一篇