我有一个Red5应用程序。由于 Red5 基于Tomcat,因此 Tomcat 专家可以提供帮助。
我的应用程序中有一个类,它使用Spring Social和Spring Social Facebook版本 1.1.0M3 来初始化东西以准备一些实时的购买统计信息。
我有一个使用参数初始化该类的 bean 配置。当我启动我的 Red5 并尝试创建我的 bean 时,我收到以下错误:
Error creating bean with name 'xpoFacebookPurchaseHandler' defined in ServletContext resource [/WEB-INF/red5-web.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:591)
bean是怎么配置的无关紧要,这里就不贴了。
所以我NoClassDefFoundError
上com/fasterxml/jackson/databind/ObjectMapper
现在我正在使用maven
它,每当我添加一个包时,它都会确保它添加了它的所有依赖项,而不是什么。
我已经包含了Jackson Databind v. 2.2.2。
如果我执行
strings jackson-databind-2.2.2.jar | grep -i ObjectMapper.class$com/fasterxml/jackson/databind/ObjectMapper.class
我确实看到该类在那里,并且该库位于我项目的 lib 目录中。所以我想不通的是为什么当我执行我的项目时我仍然得到NoClassDefFoundError
.