gpt4 book ai didi

java - Intellij 类路径错误 由 : java. io.FileNotFoundException 引起

转载 作者:行者123 更新时间:2023-12-01 12:46:44 25 4
gpt4 key购买 nike

Intellij项目的目录:

src/main/java/rewards/testdb/schema.sql
src/main/java/rewards/testdb/test-data.sql
src/main/java/rewards/testdb/config/alternate-datasource-config.xml
src/main/java/rewards/testdb/config/AlternateDataSourceConfigTests.java

正在测试的bean配置(来自alternate-datasource-config.xml):

<bean id="dataSource-createdFromList" class="org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryBean" lazy-init="true">
<property name="databaseName" value="rewards" />
<property name="databasePopulator">
<bean class="org.springframework.jdbc.datasource.init.ResourceDatabasePopulator">
<property name="scripts">
<util:list>
<value>classpath:rewards/testdb/schema.sql</value>
<value>classpath:rewards/testdb/test-data.sql</value>
</util:list>
</property>
</bean>
</property>
</bean>

我在单元测试中遇到错误:

Caused by: java.io.FileNotFoundException: class path resource [rewards/testdb/schema.sql] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:157)

但是,如果我将目录修改为:

src/main/java/rewards/testdb/config/schema.sql
src/main/java/rewards/testdb/config/test-data.sql
src/main/java/rewards/testdb/config/alternate-datasource-config.xml
src/main/java/rewards/testdb/config/AlternateDataSourceConfigTests.java

并修改我的 bean 配置:

<bean id="dataSource-createdFromList" class="org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryBean" lazy-init="true">
<property name="databaseName" value="rewards" />
<property name="databasePopulator">
<bean class="org.springframework.jdbc.datasource.init.ResourceDatabasePopulator">
<property name="scripts">
<util:list>
<value>classpath:rewards/testdb/config/schema.sql</value>
<value>classpath:rewards/testdb/config/test-data.sql</value>
</util:list>
</property>
</bean>
</property>
</bean>

...我的测试通过了。

为什么?

最佳答案

在您的idea项目配置中,将目标路径指向您的项目目标文件夹:编辑配置->部署->编辑工件(单击铅笔图标)->将“输出目录”输入设置为“your_project_folder_path/target”然后,每当您编辑 jdbc.properties 文件时,这都会在重新启动后生效。

这对于 Maven Web 项目有效。

关于java - Intellij 类路径错误 由 : java. io.FileNotFoundException 引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24630094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com