我最近开始将旧的Spring项目转换为SpringBoot。我不是这个项目的原作者,所以我很遗憾没有完全理解它的配置。
在大多数情况下,编译到jar似乎正在起作用。但是,只要我打开网页,Spring就会出现映射错误。
stacktrace只包含嵌入式tomcat代码,所以我不知道从哪里开始调试它。
2016-02-22 10:05:32.472 ERROR 4995 --- [nio-8080-exec-5] o.a.c.c.C. [Tomcat的]。 [localhost]。[/]:映射期间出错
java.lang.NullPointerException:null at org.apache.catalina.mapper.Mapper.internalMapWrapper(Mapper.java:1008) 〜[tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.mapper.Mapper.map(Mapper.java:712) 〜[tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.core.ApplicationContext.getRequestDispatcher(ApplicationContext.java:499) 〜[tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.core.ApplicationContextFacade.getRequestDispatcher(ApplicationContextFacade.java:221) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:427) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:304) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:181) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:674) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1500) [tomcat-embed-core-8.0.30.jar:8.0.30] at org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1456) [tomcat-embed-core-8.0.30.jar:8.0.30] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_74] at java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_74] at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.0.30.jar:8.0.30] at java.lang.Thread.run(Thread.java:745)[na:1.8.0_74]
该应用程序正在从Intellij的SpringBoot插件运行。 访问默认的'/'映射时会发生错误。
迁移步骤:
应该注意的是,在tomcat中运行时切换到SpringBoot工作正常。当我尝试编译到jar时遇到了这个问题。
我刚尝试使用Undertow而不是Tomcat运行,它似乎工作。虽然我没有遇到“请求方法'POST'不支持。我正在使用的库(khs-sherpa),我假设它不支持Undertow。
非常感谢任何帮助。如果问题中还有其他问题需要我知道。