【发布时间】:2011-08-25 07:59:25
【问题描述】:
我正在开发一个由其他 2 个 maven 模块组成的 webapp。
我有代表数据库层的模型模块。它在test/resources/META-INF 中有用于测试的spring 应用程序上下文test-model-config.xml,在test/resources' default package 中有属性文件。和resources/META-INF 中的model-config.xml,这是实时上下文,应该从webapp 中选择属性。
到目前为止构建良好,工作正常没问题
- <!-- 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>
这里只是测试/资源中属性的一个 sn-p
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.username=sa
jdbc.password=
jdbc.url=jdbc:hsqldb:file:target/mydb;create=true
还有另一个模块服务具有相同类型的配置文件,其中有一个测试配置和一个实时配置文件。这个单独也没有问题。构建正常,工作正常。
现在 webapp 中有 webapp-config.xml 在 /web pages/WEB-INF 和 general.properties 中,用于模型和服务模块所需的所有属性。所以general.properties和webapp-log4j.properties在webapp的resources' default package中。这里是webapp-config.xml的sn-p
<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>
在general.properties中我们有
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 (没有这样的文件或目录) 完整的调试输出是here
我真的很惊讶,因为这是我第一次遇到这种错误。它运行良好,绝对 url 为/media/Repo/myproject/mydb;create=true,但想法是将它放在 webapp 目标中,以便它删除目标文件夹时被删除。
我不知道,现在已经 2 天了。 id 如何解决这个问题?这里有什么我没有看到/做的事情吗?是因为maven配置吗? 我的 pom 是可见的 here 感谢您阅读本文。
【问题讨论】:
标签: spring maven jakarta-ee web-applications hsqldb