【问题标题】:no declaration can be found for element 'mvc:resources'找不到元素“mvc:resources”的声明
【发布时间】:2016-09-09 14:44:06
【问题描述】:

春天,每当我写作 在我的 dispatcher-servlet.xml 我得到这个错误:-

Blockquote SEVERE:上下文初始化失败 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自 ServletContext 资源 [/WEB-INF/dispatcher-servlet.xml] 的 XML 文档中的第 17 行无效;嵌套异常是 org.xml.sax.SAXParseException;行号:17;列号:65; cvc-complex-type.2.4.c:匹配的通配符是严格的,但找不到元素“mvc:resources”的声明。 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396) 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) 在 org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124) 在 org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93) 在 org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) 在 org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395) 在 org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272) 在 org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196) 在 org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 在 java.util.concurrent.FutureTask.run(FutureTask.java:262) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745) 引起:org.xml.sax.SAXParseException;行号:17;列号:65; cvc-complex-type.2.4.c:匹配的通配符是严格的,但找不到元素“mvc:resources”的声明。 在 org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(未知来源) 在 org.apache.xerces.util.ErrorHandlerWrapper.error(未知来源) 在 org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(未知来源) 在 org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(未知来源) 在 org.apache.xerces.impl.xs.XMLSchemaValidator.emptyElement(未知来源) 在 org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(未知来源) 在 org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(未知来源) 在 org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(未知来源) 在 org.apache.xerces.parsers.XML11Configuration.parse(未知来源) 在 org.apache.xerces.parsers.XML11Configuration.parse(未知来源) 在 org.apache.xerces.parsers.XMLParser.parse(未知来源) 在 org.apache.xerces.parsers.DOMParser.parse(未知来源) 在 org.apache.xerces.jaxp.DocumentBuilderImpl.parse(未知来源) 在 org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388) ... 22 更多

<?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:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
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/tx
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd ">

<mvc:resources location="/resources/**" mapping="/resources/"/>
<mvc:annotation-driven/>

<context:property-placeholder location="classpath:jdbc.properties" />
<context:component-scan base-package="id.jexpress" />   

<tx:annotation-driven transaction-manager="hibernateTransactionManager" />

<bean id="jspViewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/view/" />
    <property name="suffix" value=".jsp" />
</bean>

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${database.driver}" />
    <property name="url" value="${database.url}" />
    <property name="username" value="${database.user}" />
    <property name="password" value="${database.password}" />
</bean>

【问题讨论】:

  • 使用 IDE 中的自动完成功能来查看可以使用 Ctrl+Space 在特定文本位置插入的内容。 XML 元素的顺序是错误的,或者 - 这里似乎是这种情况 - 缺少弹簧罐。哪一个让我望而却步。
  • 我会尝试 Ctrl+space 并完成 spring jar,这没有发生任何事情......

标签: java xml spring spring-mvc


【解决方案1】:

看起来您缺少类路径中的架构 - XSD 位于 the subproject 中并被捆绑到 spring-webmvc jar 中。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.2.0.RELEASE</version>
</dependency>

适合我

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 2012-07-02
    • 2012-11-28
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多