无法找到XML模式命名空间的Spring NamespaceHandler [http://www.springframework.org/schema/data/neo4j]

时间:2015-08-06 10:12:35

标签: spring neo4j spring-data-neo4j

我正在尝试将neo4j的spring数据添加到现有项目中。我无法解决以下错误。

ERROR: org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 
Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/data/neo4j]
Offending resource: ServletContext resource [/WEB-INF/app-config.xml]

at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:301)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1408)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1401)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:168)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:138)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:94)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:604)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:509)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)

我的pom相当大,但neo4j和/或spring数据依赖性低于。

<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-kernel</artifactId>
    <version>2.2.3</version>
</dependency>

<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j</artifactId>
    <version>2.2.3</version>
</dependency>

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-neo4j</artifactId>
    <version>3.3.2.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-neo4j-tx</artifactId>
    <version>3.3.2.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-neo4j-rest</artifactId>
    <version>3.3.2.RELEASE</version>
</dependency>

app-confiv.xml包含命名空间定义和bean实例化:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
    http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j-3.0.xsd
    ">

<neo4j:config graphDatabaseService="graphDatabaseService" base-package="my.example.package.model"/>
<neo4j:repositories base-package="my.example.package.repository"/>  

<bean id="graphDatabaseService" class="org.neo4j.rest.graphdb.CypherRestGraphDatabase">
   <constructor-arg index="0" value="http://localhost:7474/db/data" />
</bean>

查看similar questions似乎缺少导致此错误的依赖项。但是,我无法弄清楚在其他情况下如何找不到丢失的依赖关系。

1 个答案:

答案 0 :(得分:0)

删除此处的版本:

// avatar upload if (isset($_FILES['userfile']['name']) && !empty($_FILES['userfile']['name'])) { function __construct(){ parent::__construct(); //return the full path of the directory //make sure these directories have read and write permessions $this->original_path = realpath(APPPATH.'../uploads/original'); $this->resized_path = realpath(APPPATH.'../uploads/resized'); $this->thumbs_path = realpath(APPPATH.'../uploads/thumbs'); } $this->load->library('image_lib'); $config = array( 'allowed_types' => 'jpg|jpeg|gif|png', //only accept these file types 'max_size' => 2048, //2MB max 'upload_path' => $this->original_path, //upload directory 'width' => 250, 'height' => 250 ); $this->load->library('upload', $config); $image_data = $this->upload->data(); //upload the image //your desired config for the resize() function $config = array( 'source_image' => $image_data['full_path'], //path to the uploaded image 'new_image' => $this->resized_path, //path to 'maintain_ratio' => true, 'width' => 128, 'height' => 128 ); //this is the magic line that enables you generate multiple thumbnails //you have to call the initialize() function each time you call the resize() //otherwise it will not work and only generate one thumbnail $this->image_lib->initialize($config); $this->image_lib->resize(); $config = array( 'source_image' => $image_data['full_path'], 'new_image' => $this->thumbs_path, 'maintain_ratio' => true, 'width' => 36, 'height' => 36 ); //here is the second thumbnail, notice the call for the initialize() function again $this->image_lib->initialize($config); $this->image_lib->resize(); }

可能已将其删除(过时),您可以将版本关闭或使用http://www.springframework.org/schema/data/neo4j/spring-neo4j-3.0.xsd3.2