Ресурс пути к классу не найден случайно - PullRequest
0 голосов
/ 14 октября 2011

Мы интегрировали Spring с Hibernate и Struts2 в Eclipse и получали следующие ошибки при запуске сборки:

14-Oct-2011 10:37:27 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [Test.hbm.xml] cannot be opened because it does not exist
...
Caused by: java.io.FileNotFoundException: class path resource [Test.hbm.xml] cannot be opened because it does not exist
...

Наше отображение в applicationContext.xml:

<property name="mappingResources" value="Test.hbm.xml" />

Test.hbm.xml находится в / build / classes , и мы попытались поместить его в / WEB-INF , / src , и даже создал новую исходную папку с именем / hibernate , сбросил ее, и она работала только на нескольких машинах.

В первый раз, когда мы написали это, он показал эту ошибку. И затем мы скопировали точно такой же код в новый проект, он неожиданно сработал. На некоторых машинах это работает; на других это показывает эту ошибку.

Кто-нибудь знает, что может быть не так? Дайте мне знать, нужна ли какая-либо другая информация.

Большое спасибо.

1 Ответ

1 голос
/ 14 октября 2011

Это не ошибка времени сборки.Это во время выполнения.Однако такие прерывистые сбои указывают на проблему с вашей сборкой.В качестве ресурса classpath Test.hbm.xml должен находиться в каталоге classpath при запуске приложения.Где именно это зависит, зависит от того, как вы его выполняете, но / WEB-INF никогда не будет работать для веб-приложения, и случайная папка / гибернация тоже вряд ли будет работать, если вы не выполнили какую-то пользовательскую конфигурацию,Ресурс classpath или сделайте его одним.Чтобы получить более точный ответ, вам необходимо предоставить более подробную информацию о том, что вы используете и как вы его строите.

...