spring tools suite からH2databaseとmybatisを用いたmavenプロジェクトのJunitテストをしようとした時に以下のエラーが発生

spring tools suite からH2databaseとmybatisを用いたmavenプロジェクトのJunitテストをしようとした時に以下のエラーが発生

spring tools suite からH2databaseとmybatisを用いたmavenプロジェクトのJunitテストをしようとした時に以下のエラーが発生

事象

spring tools suite からH2databaseとmybatisを用いたmavenプロジェクトのJunitテストをしようとした時に以下のエラーが発生

エラー内容

1
2
3
4
Caused by: java.lang.ClassNotFoundException: org.h2.DriverCaused by: java.lang.ClassNotFoundException: org.h2.Driver at
java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at
sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at
org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2131) ... 50 common frames omitted

原因

H2データベースのライブラリとのパスが繋がっていないため発生

解決策

pom.xmlのprofilesにcom.h2databaseを設定する。

 

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<profiles>
    <profile>
        <id>local</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <resource.directory>src/main/resources</resource.directory>
            <buildFinalName>${project.artifactId}-${project.version}</buildFinalName>
        </properties>
        <dependencies>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <scope>runtime</scope>
            </dependency>
        </dependencies>
    </profile>
    <profile>
        <id>test-server</id>
        <properties>
            <resource.directory>${basedir}/configs/test-server/resources</resource.directory>
            <buildFinalName>${project.artifactId}-${project.version}-test-server</buildFinalName>
        </properties>
    </profile>
    <profile>
        <id>production-server</id>
        <properties>
            <resource.directory>${basedir}/configs/production-server/resources</resource.directory>
            <buildFinalName>${project.artifactId}-${project.version}-production-server</buildFinalName>
        </properties>
    </profile>
</profiles>

H2databaseカテゴリの最新記事