我有一个奇怪的问题,我似乎无法追查。我有这个与其他服务器一起工作没有问题,但我似乎无法让这个服务器工作。我在问题中看到的最近的帖子是这篇文章The prefix "context" for element "context:component-scan" is not bound
所有其他人真的只是因为前缀不在xml文件中。我希望有人能够在这里指出我正确的方向。
Spring 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.
感谢任何帮助。让我知道我还能提供什么。
由于
答案 0 :(得分:16)
在我意识到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
...."
然后重建项目。
之后效果很好。
答案 1 :(得分:11)
以下适用于我:
<强>的test.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>
当我使用以下类来运行它时:
<强> Test.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进行上述操作。
答案 2 :(得分:7)
当您的spring xml文件中缺少xmlns:context
时,会出现此错误。所以添加它。您的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>
答案 3 :(得分:0)
我遇到了同样的问题,但我能够通过移动来解决它
从applicationContext.xml到spring-servlet.xml并在spring-servlet.xml中添加xmlns:context