SpringBoot报错Unable to start embedded container; nested exception is java.lang.NoSuchMethodError

SpringBoot启动报错如下:Unable to start embedded container; nested exception is java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;

经检查,在org.apache.tomcat.util.scan.StandardJarScanner类中存在setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;)方法,并且亲自测试,可以正常使用。而抛出异常却说没有此方法。

分析原因:1.存在重复的jar包。2.版本调整带来的影响。

  经排查,发现MyEclipse Tomcat v7.0 Runtime Libraries包,和Maven Dependencies包中均包含org.apache.tomcat.util.scan.StandardJarScanner类。

  SpringBoot报错Unable to start embedded container; nested exception is java.lang.NoSuchMethodError

  于是,取消MyEclipse Tomcat v7.0 Runtime Libraries包,运行正常。

解决办法:查看报错文件所在的包,移除重复部分。