Я занимаюсь разработкой веб-приложения с двумя другими модулями maven.
У меня есть модуль модели, который представляет базу данных layer.it имеет контекст приложения Spring test-model-config.xml
в test/resources/META-INF
для тестирования и файлы свойств в test/resources' default package
. и model-config.xml
в resources/META-INF
, который является живым контекстом и который должен выбирать свойства из веб-приложения.
до сих пор прекрасно строит, отлично работает без проблем
- <!-- test-model-config.xml and model-config.xml have the same thing-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
Вот только фрагмент свойств в test / resources
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.username=sa
jdbc.password=
jdbc.url=jdbc:hsqldb:file:target/mydb;create=true
есть еще один модуль сервисов, который имеет тот же тип conf, где есть тестовая конфигурация и живые конфигурационные файлы. У этого тоже отдельно нет проблем. Строит нормально, работает нормально.
теперь в веб-приложении есть webapp-config.xml
в /web pages/WEB-INF
и general.properties
для всех свойств, необходимых для модели и сервисных модулей. поэтому general.properties
и webapp-log4j.properties
находятся в resources' default package
веб-приложения. Здесь фрагмент webapp-config.xml
<import resource="classpath:META-INF/model-config.xml" />
<import resource="classpath:META-INF/service-config.xml" />
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:general.properties</value>
<value>classpath:webapp-log4j.properties</value>
</list>
</property>
</bean>
в общем. Свойства у нас
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.username=sa
jdbc.password=
jdbc.url=jdbc:hsqldb:file:classpath:target/mynewdb;create=true
// ....
Он также хорошо работает и работает с проблемой.
1 : в журнале написано:
java.sql.SQLException: Ошибка ввода / вывода файла classpath: target / mynewdb.properties java.io.FileNotFoundException: classpath: target / mynewdb.properties.new (нет такого файла или каталога), полный вывод отладочной информации равен здесь
Я действительно удивлен, потому что это первый раз, когда я сталкиваюсь с такого рода ошибками. Он работает нормально с абсолютным URL-адресом, таким как /media/Repo/myproject/mydb;create=true
, но идея в том, чтобы он был в цели webapp, чтобы он удаляется при удалении целевой папки.
ну, я понятия не имею, и прошло уже 2 дня.
Как id может это исправить? здесь что-то, чего я не вижу / не делаю? это из-за конфигурации maven?
мой пом для просмотра здесь
спасибо, что прочитали это.