• springboot运行在eclipse报异常的问题


    在Eclipse中运行Spring Boot程序,如下

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ConfigurableApplicationContext;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * Hello world!
     *
     */
    @RestController
    @EnableAutoConfiguration
    @SpringBootApplication
    public class App 
    {
        @RequestMapping("/")
        @ResponseBody
        public String home(){
            return "Hello World";
        }
        public static void main( String[] args ) throws Exception
        {
            ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
        }
    }

    报错,报异常如下:

      .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _    
    ( ( )\___ | '_ | '_| | '_ / _` |    
     \/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v1.4.4.RELEASE)
    
    2017-01-29 12:19:56.037  INFO 7612 --- [  restartedMain] com.eboot.App                            : Starting App on yanzhongya with PID 7612 (F:ProjectJavaeboot	argetclasses started by 严萧 in F:ProjectJavaeboot)
    2017-01-29 12:19:56.046  INFO 7612 --- [  restartedMain] com.eboot.App                            : No active profile set, falling back to default profiles: default
    2017-01-29 12:19:56.967  INFO 7612 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@42ab22a6: startup date [Sun Jan 29 12:19:56 CST 2017]; root of context hierarchy
    2017-01-29 12:20:05.116  INFO 7612 --- [  restartedMain] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
    2017-01-29 12:20:06.944  WARN 7612 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;)V
    2017-01-29 12:20:06.980 ERROR 7612 --- [  restartedMain] o.s.boot.SpringApplication               : Application startup failed
    
    org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;)V
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536) ~[spring-context-4.3.6.RELEASE.jar:4.3.6.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) [spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:372) [spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1187) [spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1176) [spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at com.eboot.App.main(App.java:27) [classes/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_101]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_101]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_101]
        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.4.4.RELEASE.jar:1.4.4.RELEASE]
    Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;)V
        at org.springframework.boot.context.embedded.tomcat.SkipPatternJarScanner$Tomcat8TldSkipSetter.setSkipPattern(SkipPatternJarScanner.java:107) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.context.embedded.tomcat.SkipPatternJarScanner.setPatternToTomcat8SkipFilter(SkipPatternJarScanner.java:62) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.context.embedded.tomcat.SkipPatternJarScanner.<init>(SkipPatternJarScanner.java:57) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.context.embedded.tomcat.SkipPatternJarScanner.apply(SkipPatternJarScanner.java:88) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.prepareContext(TomcatEmbeddedServletContainerFactory.java:207) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:176) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.4.4.RELEASE.jar:1.4.4.RELEASE]
        ... 13 common frames omitted

    原因:从stackoverflow得出是因为与旧版本的tomcat冲突。http://stackoverflow.com/questions/33157970/spring-boot-exception-java-lang-nosuchmethoderror-standardjarscanner-setjarsca

    本人的是:tomcat  7.0.72

    解决办法:移除tomcat,从Eclipse-->Window-->Preferences选择 Server-->Runtime Environm 移除tomcat.

    再次运行,错误就没有了

  • 相关阅读:
    Win2003 远程控制管理工具tsmmc 移植到XP连接多个服务器远程桌面的方法
    c++中new char(10) 和 new char[10]的区别
    64位ubuntu上安装 hadoop2.4.0
    g++编译安装
    atoi()函数实现
    LRU Cache
    Longest Palindromic Substring
    Java 中 == 和 equal 的区别 (String)
    抓取HTML
    验证码居中
  • 原文地址:https://www.cnblogs.com/JNUX/p/6357430.html
Copyright © 2020-2023  润新知