我已经更新了我的项目以使用Spring BOOT 1.4.3。代码编译和运行没有来自Eclipse Neon 1的问题。 但是当我从命令行运行时
mvn clean install -DskipTests
java -jar myweb\target\my-web-1.0-SNAPSHOT.jar
我收到运行时错误而tomcat没有启动
Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:43) ~[tomcat-embed-core-8.5.6.jar!/:8.5.6]
请告诉我为什么?如何在运行时查找使用哪个tomcat,我的理解是8.5.6具有编译范围(?)
请帮忙。如果建议是在POM文件的属性中使用tomcat.version或添加tomcat-juli依赖,那么请帮助我理解为什么需要它?
不耐烦的stackoverflow'ers不仅仅因为你能做到而鞭打新来者。您可以轻松地询问您是否需要我的POM,但我只使用了spring-boot-starter-web。
答案 0 :(得分:1)
对于这类问题,通常是由于多个jar在类路径中具有相同的类,所以:
@RequestMapping(value = "/apis/test", method = RequestMethod.POST, consumes = "application/json")
public @ResponseBody String test(@RequestParam final String param1, @RequestParam final String param2, @RequestBody final String body) throws JsonIOException {