В последнее время возникло требование передать параметры базы данных из Spring applicationContext.xml. Поэтому мы хотели иметь файл jdbc.properties за пределами встроенных банок, поэтому пользователь может легко изменить jdbc.settings. До сих пор все работало нормально в рабочем пространстве eclipse, но как только я создаю дистрибутив с муравьем, applicationContext.xml больше не найдет jdbc.properties.После развертывания JDBC.Properties вне .Jar не найден Spring больше
applicationContext.xml выглядит следующим образом:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
В затмении я использовал следующий путь к классам, так jdbc.properties (который находится в папке проекта Eclipse «конфигурации») собирающийся найдено:
файл классы:
<classpath>
...
<classpathentry kind="src" path="config"/>
...
</classpath>
пока здесь все работает отлично. Теперь я создаю проект с Ant. Создается project.jar и отдельная папка config рядом с ним, а также файл jdbc.properties. В Manifest.mf есть запись:
config/jdbc.properties
Но когда я теперь запустить сервер, то jdbc.properties не найдены. Я заметил, что когда я меняю запись Manifest.mf на:
config/.
он снова работает отлично. Но я не понимаю, почему это другое. Может ли кто-нибудь объяснить мне такое поведение? Или, может быть, даже знает, что я делаю неправильно? Очевидно, я должен каким-то образом изменить файл Ant, поэтому он просто добавляет папку config в файл манифеста, а не только сам файл jdbc.properties.
Спасибо заранее!
Извините, но я вас не понимаю. В моем пути к классам есть только путь к каталогу, который содержит файл свойств, так как «config» - это папка, в которой находятся файлы свойств. Эта запись была автогенерирована eclipse. Из того, что я понял, я должен попытаться изменить файл ant, что manifest.mf указывает только на каталог «config», а не на файл jdbc.properties, как я указал в этом примере. – crusam