Spring 3.0: "The prefix" X "for attribute" Y "associated with an element type" Z "is not bound"

14,583

Solution 1

You need to add namespaces to your beans declaration.

xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"

See the spring documentation reference.

http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-p-namespace

Solution 2

I don't have any experience with Netbeans, but I guess the problem might be related to XML schema for the p namespace.

It's a wild guess, but let me take it. Maybe you had configured Netbeans to add a custom XSD to its catalog and pointed to the XSD file within your project. After you renamed the project, the path to p namespace XML schema is invalid.

I don't even know if such XML catalog configuration is possible in Netbeans, I am more into Eclipse. But I would check that in your place.

Solution 3

I know i am late but i got same error and may be this is usefull to others.. i put the

p:something 

into

<property name="something" value="anything_you_want_to_set"/>

So, instead of

p:driverClassName="net.sourceforge.jtds.jdbc.Driver"

try this :

<bean>
    <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" />
    <!-- and your others property -->
</bean>
Share:
14,583

Related videos on Youtube

Sajee
Author by

Sajee

Updated on May 10, 2022

Comments

  • Sajee
    Sajee about 2 years

    My app was working fine until this morning but I started getting the errors below after I renamed my Netbeans 6.9 project this morning.

    I'm getting the following error when building my Spring 3.0.4 app:

    The prefix "p" for attribute "p:driverClassName" associated with an element type "beans:bean" is not bound
    

    applicationContext.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:security="http://www.springframework.org/schema/security"
      xmlns:p="http://www.springframework.org/schema/p"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
    
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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
           http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.3.xsd">
    
    
        <bean id="myEmf" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
            <property name="persistenceUnitName" value="TT-SpringMVCPU"/>
        </bean>
    
        <bean id="configurationLoader"
            class="org.springmodules.validation.bean.conf.loader.annotation.AnnotationBeanValidationConfigurationLoader"/>
    
        <bean id="validator"
            class="org.springmodules.validation.bean.BeanValidator"
            p:configurationLoader-ref="configurationLoader"
            p:errorCodeConverter-ref="errorCodeConverter"/>
    
        <bean id="errorCodeConverter"
            class="org.springmodules.validation.bean.converter.KeepAsIsErrorCodeConverter"/>
      <bean id="messageSource"
            class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
            p:basename="WEB-INF/errors"/>
    
        <bean id="TT-SQLServer"
              class="org.springframework.jdbc.datasource.DriverManagerDataSource"
              p:driverClassName="net.sourceforge.jtds.jdbc.Driver"
              p:url="jdbc:jtds:sqlserver://localhost:1234/TTToys"
              p:username="sa"
              p:password="Password1" />
        </beans>
    

    applicationContext-security:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans:beans xmlns="http://www.springframework.org/schema/security"
        xmlns:beans="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                            http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
    
    
        <http auto-config='true'>
             <intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
             <intercept-url pattern="/secure/**" access="ROLE_USER" />
            <form-login login-page='/login' />
        </http>
    
    
        <authentication-manager>
            <authentication-provider user-service-ref='myUserDetailsService'/>
        </authentication-manager>
    
        <beans:bean id="myUserDetailsService"
          class="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
            <beans:property name="dataSource" ref="TT-SQLServer"/>
        </beans:bean>
    </beans:beans>
    

    The above error is causing this error:

    Nov 24, 2010 10:52:54 AM org.springframework.web.context.ContextLoader initWebApplicationContext
    SEVERE: Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myEmf' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: No Persistence provider for EntityManager named TT-SpringMVCPU
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
            at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
            at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
            at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
            at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
            at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
            at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
            at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
            at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
            at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
            at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:521)
            at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1359)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
            at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
            at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
            at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500)
            at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:849)
            at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:351)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
            at java.lang.Thread.run(Thread.java:619)
    Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named TT-SpringMVCPU
            at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
            at org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEntityManagerFactoryBean.java:92)
            at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
            ... 45 more
    

    persistence.xml

     <?xml version="1.0" encoding="UTF-8"?>
        <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
          <persistence-unit name="TT-SpringMVCPU" transaction-type="RESOURCE_LOCAL">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
            <class>com.sajee.TT.db.Categories</class>
    
            <exclude-unlisted-classes>false</exclude-unlisted-classes>
            <properties>
              <property name="javax.persistence.jdbc.url" value="jdbc:jtds:sqlserver://localhost:1234/TailSpinToys"/>
              <property name="javax.persistence.jdbc.password" value="Password1"/>
              <property name="javax.persistence.jdbc.driver" value="net.sourceforge.jtds.jdbc.Driver"/>
              <property name="javax.persistence.jdbc.user" value="sa"/>
            </properties>
          </persistence-unit>
        </persistence>
    

    See anything wrong here?