仅在Eclipse中:java.lang.IllegalStateException:未找到WebApplicationContext:没有注册ContextLoaderListener?

时间:2016-09-06 00:30:13

标签: eclipse spring jsf tomcat

实际上,我将自己介绍给JSF。出于这个原因,我从这个位置复制了项目: http://www.concretepage.com/spring-4/spring-4-jsf-2-integration-example-using-autowired-annotation 设置:

  • OpenSUSE 13.2
  • JDK-1.8.0_77
  • Gradle 3.0
  • 春季4
  • JS​​F-2
  • Apache Tomcat 8.0.33
  • Eclipse MARS 2(4.5.2)

使用" gradle build"构建此项目并手动将其部署到Tomcat并访问URL工作正常。所以这个项目似乎没问题。 所以我使用可配置服务器在eclipse中尝试相同的过程。但是一旦我访问相同的URL,我就会收到IllegalStateException(找不到WebApplicationContext:没有注册ContextLoaderListener?)。

StorageService.prototype.getFiles = function (container, options, cb) {
  ...
  return this.client.getFiles('hardwiredbucketname', options, function (err, files) {
...
};

我认为这个例外已经经常出现了。我已经尝试了几个已确认的解决方案,但所有这些解决方案都搞乱了项目的简单性。手动部署也是有效的,所以我不认为项目本身有问题。 (例如,添加上下文侦听器,...)

我很确定,服务器的配置或eclipse中的项目有问题。

我将几个设置与standalone-tomcat进行了比较:

  • 使用相同的JRE
  • 项目库和部署程序集的配置
  • eclipse launch-configuration by ps -Af

此外,控制台日志中既不会显示警告也不会显示错误。 我在 WebAppInitializer.onStartup 中添加了一个断点。没有访问这个断点。

您是否有其他建议可以检查甚至解决此问题?

- 解决方案 - 可能就这么简单吗?

第二天,我又开始了环境。 我添加了一个index.jsp(我没有配置web.xml)在eclipse中启动了tomcat。有效。 之后我删除了index.jsp重新启动了我的完整环境,重新部署并且它仍在工作。

我认为解决方案是简单的重启(简单的eclipse-caching-problem)。 我不明白这一点,为什么添加文件会影响引导程序。

感谢您的建议

麦克

1 个答案:

答案 0 :(得分:0)

这似乎是一个简单的日食问题。这就是为什么(另外我将这些信息添加到问题中)

第二天,我又开始了环境。我添加了一个index.jsp(我没有配置web.xml)在eclipse中启动了tomcat。有效。之后我删除了index.jsp重新启动了我的完整环境,重新部署并且它仍在工作。

我认为解决方案是简单的重启。