2009-09-15 17 views
1

私はスピンアップのためにEnunciateを使い、サーブレットの起動時に問題に遭遇しました。何らかの理由で、ファイルがクラスパスに、そこにいる、とすべてが正しく指定されているにもかかわらず、春には、以下の私に語った:SpringがHibernateマッピングファイルを見つけられない

[email protected]:36:31 ERROR org.springframework.web.context.ContextLoader - Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-user-config.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [WEB-INF/classes/resources/hibernate.xml] cannot be opened because it does not exist 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381) 
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:448) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552) 
    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.catalina.startup.Bootstrap.start(Bootstrap.java:295) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 
Caused by: java.io.FileNotFoundException: class path resource [WEB-INF/classes/resources/hibernate.xml] cannot be opened because it does not exist 
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:142) 
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:656) 

構造は、私は(発音することで生成される)applicationContext.xmlを、ウェブを持っているということです。 xml、spring-user-config.xmlをWEB-INFの中に置き、hibernate.xmlをWEB-INF/classes/resourcesに配置します。

「classpath:」を使用して相対パスと絶対パスの両方を試しましたが、それが見つからない理由は考えられません。

私の春ユーザー-config.xmlファイル内のSessionFactory Beanが宣言されている場所です:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource"> 
      <ref local="dataSource"/> 
     </property> 
     <property name="hibernateProperties"> 
      <ref bean="exampleHibernateProperties"/> 
     </property> 
     <!-- Must references all OR mapping files. --> 
     <property name="mappingResources" value="WEB-INF/classes/resources/hibernate.xml"> 
     </property> 
</bean> 

すべてのヘルプの仕事にこれを取得するには非常に人をいただければ幸いです!

ありがとうございます。

答えて

3

はちょうど私のEclipseの設定はWEB-INF/classesディレクトリを追加していないと私はそれがここでこのファイルを探していたことに気づいていなかった、追加するだけで

<property name="mappingResources" value="resources/hibernate.xml" /> 
+1

男、私が何を考えていたが。それはそれだった。本当にありがとう。すてきな一日を。 –

+0

私は助けてうれしい –

1

を試してみてください。この問題に苦労している他の人がいるなら(WEB-INF/classesディレクトリを作成し、それにhibernateリソースファイルをコピーしてください。 mappingResourcesで指定されています)。

+0

あなたは絶対に正しいです。私は同じ痛みを経験しました。 WEB-INF/classesフォルダを手動で作成して、開発時にのみ動作させる必要があります。 – huahsin68

1

ウルは、それが自動的にクラスパスに追加されますソースfolder.Inランタイムでhibernate.xmlを配置した構成で、あなただけのクラスパスに追加することができます任意のIDEより良い使用している場合:

<property name="mappingResources"> 
<value> classpath:hibernate.xml </value> 
    </property> 
関連する問題