У меня есть настольное приложение на Java, которое подключается к базе данных MySql через Hibernate.
У меня есть следующие файлы для конфигурации:
- pom.xml, куда я положил нескольковещи и профили базы данных
- [app_name] _context.xml, куда я помещаю основную конфигурацию, включая bean-компоненты и источник данных
- [app_name] _hibernate.cfg.xml, куда я помещаю сопоставленияк таблицам
Приложение почти завершено, все работало на 100%, но затем я решил изменить конфигурацию для создания профилей БД (до этого в файле pom.xml не было профиля),Поэтому я создал профили в pom.xml и сослался на них из context.xml.Все работало.Затем я хотел, чтобы SQL выводился на терминал для отладки, и по какой-то причине он не печатался.Поэтому я изменил конфигурации базы данных, пока не понял все правильно.Все работало.Затем я изменил его так, как это было до изменения sql-print, точную конфигурацию, с которой он работал раньше, но теперь я получаю эту ошибку для компонента, который всегда был там и никогда не менялся.
Вот некоторый код для лучшего понимания:
Источник данных в context.xml: (строки $ {} фильтруются и заменяются реальными значениями, хранящимися в pom.xml)
<bean id="desenvolvimentoDS" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>org.hibernate.dialect.MySQLDialect</value>
</property>
<property name="url">
<value>${db.mysql.url}</value>
</property>
<property name="username">
<value>${db.mysql.username}</value>
</property>
<property name="password">
<value>${db.mysql.password}</value>
</property>
</bean>
Текущий используемый профиль в pom.xml:
<profile>
<id>HOMOLOGACAO</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profile.group>HOMOLOGACAO</profile.group>
<maven.test.skip>true</maven.test.skip>
<db.show_sql>true</db.show_sql>
<db.format_sql>false</db.format_sql>
<db.mysql.url>[filtered]</db.mysql.url>
<db.mysql.username>[filtered]</db.mysql.username>
<db.mysql.password>[filtered]</db.mysql.password>
</properties>
</profile>
Ресурсная часть pom.xml, которая сообщает Spring для фильтрации этих строк context.xml по значениям профилей:
<resources>
<resource>
<directory>src/main/resources/configuracao</directory>
<filtering>true</filtering>
</resource>
</resources>
И, наконец, компонент, выдающий мне сообщение об ошибке:
<bean name="servidorUDP"
class="br.uff.pgci.sgca.gateway.server.ServidorUDP"
scope="singleton"/>
Продолжая, я создал профили базы данных для организации конфигураций, изменил некоторые конфигурации базы данных взад и вперед, и вдруг я получаюОшибка «NoSuchBeanDefinitionException no bean с именем ServidorUDP».
Может ли это быть вызвано неуместными переносами строк, пробелами или неправильными открывающими / закрывающими тегами XML?Я почти уверен, что это не так, но мы никогда не узнаем ...