9

我有一个奇怪的问题,我似乎无法追踪。我可以毫无问题地与其他服务器一起使用,但我似乎无法让这台服务器正常工作。我看到的最接近我的问题的帖子是这篇文章The prefix "context" for element "context:component-scan" is not bound

所有其他人真的只是因为前缀不在 xml 文件中。我希望有人可以在这里为我指出正确的方向。

春季 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<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:dwr="http://www.directwebremoting.org/schema/spring-dwr"
  xmlns:mongo="http://www.springframework.org/schema/data/mongo"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.0.xsd
   http://www.springframework.org/schema/data/mongo
    http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
    http://www.directwebremoting.org/schema/spring-dwr
    http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd">

    <context:annotation-config/>

所以我有,但得到这个错误:

org.xml.sax.SAXParseException: The prefix "context" for element "context:annotation-config" is not bound.

感谢任何帮助。让我知道我还能提供什么。

谢谢

4

4 回答 4

20

在我意识到beans标签属性xmlns:context丢失之前,我遇到了同样的问题。刚刚添加了以下几行

xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
...."

然后重建项目。

那时它运作良好。

于 2013-11-22T11:34:31.343 回答
14

以下对我有用:

测试.xml

<?xml version="1.0" encoding="UTF-8"?>
<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:dwr="http://www.directwebremoting.org/schema/spring-dwr"
  xmlns:mongo="http://www.springframework.org/schema/data/mongo"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/data/mongo
    http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
    http://www.directwebremoting.org/schema/spring-dwr
    http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd">

    <context:annotation-config/>

</beans>

当我使用以下类运行它时:

测试.java

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

    public static void main(String[] args) throws Exception {
        new ClassPathXmlApplicationContext("test.xml");
        System.out.println("Finished!");
    }

}

你能看看这是否适合你吗?您将需要类路径中的以下库:commons-logging、spring-asm、spring-beans、spring-context、spring-core 和 spring-expression。

请让我知道它是否有效。如果没有,请发布完整的堆栈跟踪。最后,我在上面使用了 Spring 3.1.1。

于 2013-08-09T00:17:24.590 回答
8

当您xmlns:context从 spring xml 文件中丢失时,就会出现此错误。所以添加它。您的 bean 标头应如下所示 -

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd" >

    <context:annotation-config />
    <context:component-scan base-package="controller" />

</beans>
于 2014-07-26T19:08:17.760 回答
0

我遇到了同样的问题,但我能够通过移动来解决它

从 applicationContext.xml 到 spring-servlet.xml 并在 spring-servlet.xml 中添加 xmlns:context

于 2015-06-11T10:59:04.373 回答