ClassLoder.getResourceAsStream()で.propertiesファイルを読み込めず、Nullになる
発生している問題
Eclipseで作成した、Maven webappプロジェクトの、src/test/resources
ディレクトリにある、.properties
ファイルをClassLoader.getResourceAsStream()
で読み込みたいのですが、'NullPointer' で読み込めません。
試したこと
pom.xmlかパスの表記に問題があるのではないかと思い色々調べて試しましたが、
どれもnullになります。
実効pomのtestResourceが
${basedir}/upload_image_db4/src/main/resources
なので、
getResourceAsStream("/jdbc/JdbcDataSource_H2.properties")と考えていますが誤りでしょうか。
基本的な部分で間違っているような気がするので、「よくある間違い」的な小さなヒントで構いません。
何か情報をいただけると幸いです。
宜しく御願い致します。
ディレクトリ
src
|-main
|-test
|---java
-testModel
GetDataSourceLogic.java
|---resources
-jdbc
JdbcDataSource_H2.properties
エラーメッセージ
Caused by: java.lang.NullPointerException
at test.model.logic.RegisterLogicTest2.<clinit>(RegisterLogicTest2.java:35)
... 55 more
該当のソースコード
public class GetDataSourceLogic{
public JdbcDataSource getH2DataSource() throws IOException{
Properties props = new Properties();
JdbcDataSource dataSource = new JdbcDataSource();
try(InputStream in=ClassLoader.class.getResourceAsStream("/jdbc/JdbcDataSource_H2.properties")){
props.load(in);
dataSource.setURL(props.getProperty("JDBC_URL"));
dataSource.setUser(props.getProperty("USER"));
dataSource.setPassword(props.getProperty("PASSWORD"));
return dataSource;
}
Ecilpseの実効pom (抜粋)
<build>
:
<testResources>
<testResource>
<directory>/Applications/Eclipse_2019-03.app/Contents/upload_image_db4/src/test/resources</directory>
</testResource>
</testResources>
:
:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>add-test-source</id>
<phase>process-resources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>/Applications/Eclipse_2019-03.app/Contents/upload_image_db4/src/test/resources</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
:
JdbcDataSource_H2.properties
#H2 JDBC
JDBC_DRIVER=org.h2.Driver.class.getName();
JDBC_URL=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
USER=sa
PASSWORD=
補足情報
Eclipse 4.11.0
Maven 3