如何修复“使用名称创建bean时出错”

时间:2019-05-28 16:39:27

标签: java tomcat

我的网站运行正常。但是我被迫升级运行它的服务器的操作系统,因为我需要升级的软件的较新版本无法在旧操作系统上运行。所以,现在我处于依赖地狱。

因此,在测试服务器上,我已将操作系统从Ubuntu 14.04升级到18.04.1。我还被迫使用以下版本的Java:

echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle

echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64/

以及Tomcat的版本从7到8。

有点费力(我从一月份开始,但是只能重新开始,所以我不记得确切的内容,尽管可以在历史记录中寻找线索),我可以构建我的应用程序可以,但是最终失败了:

  

成功建立总时间:使用CATALINA_BASE:19秒:
  / var / lib / tomcat8使用CATALINA_HOME:/ usr / share / tomcat8使用   CATALINA_TMPDIR:/ var / lib / tomcat8 / temp使用JRE_HOME:
  / usr / lib / jvm / java-11-openjdk-amd64 /使用CLASSPATH:
  /usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar   使用CATALINA_PID:/root/catalina.pid Tomcat已启动。   --2019-05-28 16:10:16-- http://localhost:8080/正在解析localhost(localhost)... 127.0.0.1连接到localhost   (localhost)| 127.0.0.1 |:8080 ...已连接。 HTTP请求已发送,正在等待   响应... 404 2019-05-28 16:10:16错误404 :(无描述)。

进一步的调查显示:

less /var/log/tomcat8/catalina.out
  

2019-05-28 16:10:06.418 UTC [localhost-startStop-1]错误   org.springframework.web.context.ContextLoader-上下文初始化   失败的org.springframework.beans.factory.BeanCreationException:错误   创建在ServletContext中定义的名称为'embedController'的bean   资源[/WEB-INF/playground-servlet.xml]:无法解析参考   在设置bean属性时将其设置为bean'homeController'   'homeController';嵌套异常为   org.springframework.beans.factory.BeanCreationException:错误   创建在ServletContext中定义的名称为“ homeController”的bean   资源[/WEB-INF/playground-servlet.xml]:无法解析参考   设置bean属性'execService'时到bean'execService';   嵌套异常为   org.springframework.beans.factory.BeanCreationException:错误   创建名称为“ execService”的bean:初始化方法的调用   失败嵌套的异常是javax.ws.rs.ProcessingException:   java.net.ConnectException:连接被拒绝(连接被拒绝)           在org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:326)   〜[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]

现在应该很清楚,我不太了解自己在做什么。我花了整个下午进行大量的Google搜索,并查看了许多Stack Overflow答案,但似乎没有任何意义。

1 个答案:

答案 0 :(得分:1)

该错误来自Spring。对于Java 11支持,您还需要将Spring升级到最新的5.x版本(当前为5.2.x)。

在将较旧的环境升级到Java 11时,您可能会遇到各种兼容性问题。除非绝对需要升级,否则您可以考虑使用旧版本。仍支持Java 8。