Весь день я работаю над этой проблемой. У меня есть рабочее пространство с этим Структур:пружинные зависимости в моей иерархии проектов
- CMn-Lib (общие базовые алгоритмы) # Java
- стп-сервер (логика на основе общего сервера) # Java
- стп-дао (интерфейс базы данных) # Java
- кв-кот (кот проект) # Java
- кв-клиент (клиент) # Android
стп-сервер, а также стп-дао с использованием Spring (The тесты проходят без проблем). Весенняя конфигурация cmn-server-spring.xml включает общий-dao-spring.xml (для некоторых классов Handler нужна поддержка Dao). Это стп-сервера 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"
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 />
<import resource="cmn-dao-spring.xml" />
<bean id="scoreHandler" class="de.bc.qz.handler.score.ScoreHandler"
autowire="byName">
</bean>
</beans>
теперь я хочу, чтобы включить все эти Librarys Into QZ-котом. Проблема заключается в том, что исключение:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [cmn-dao-spring.xml]
Offending resource: URL [jar:file:/C:/Users/BC/qz/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/quiz-tomcat/WEB-INF/lib/cmn-server.jar!/cmn-serv-spring.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from URL [jar:file:/C:/Users/BC/qz/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/quiz-tomcat/WEB-INF/lib/cmn-server.jar!/cmn-dao-spring.xml]; nested exception is java.io.FileNotFoundException: JAR entry cmn-dao-spring.xml not found in C:\Users\BC\qz\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\quiz-tomcat\WEB-INF\lib\cmn-server.jar
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
Это происходит, когда я начинаю свой местный кот. cmn-server и cmn-dao включены как JAR с помощью «Web Deployment Assembly».
Однако ... Мое WebAPP Brokes во SpringBeanAutowiringSupport
:
@WebServlet("/ScoreServlet")
public class ScoreServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Autowired
ScoreHandler mScoreHandler;
@Autowired
TransferAdapter mTransferAdapter;
ScoreCreator mScoreCreator;
public void init(ServletConfig config) throws ServletException {
super.init(config);
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,
config.getServletContext());
}
что-то не так в моем CMn-server.jar? Я думаю, что главная проблема заключается в том, что линия, за исключением:
IOException parsing XML document from URL [jar:file:/C:/Users/BC/qz/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/quiz-tomcat/WEB-INF/lib/cmn-server.jar!/cmn-dao-spring.xml
Там нет общего дао-spring.xml в моей CMn-server.jar. Я добавил проект cmn-dao в cmn-сервер через Java Build Path->Project->Add->cmn-dao
Эта конфигурация подходит для тестов JUnit, но не для развернутого Jar-файла.
Знает кого-нибудь, как исправить эту проблему.
Спасибо за помощь.
Значит, вы имеете в виду, что я удаляю dao-ссылку из cmn-server-spring.xml и создаю местоположение через ваш пример? У вас есть ссылка для учебника? Отличие именования зависит только от моего вопроса ... –
Обратите внимание, что 'META-INF' обычно не находится в пути к классам. –
@StefanBeike Вопрос в вашем комментарии неясен. Исправьте свой вопрос; не отправляйте код «это своего рода моя реальная проблема».Я говорю, что вы используете 'classpath:', чтобы сообщить Spring искать импортированный XML-файл контекста в другой банке в пути к классам. Все остальные обычные правила применяются. – chrylis