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テストをしようとした時に以下のエラーが発生

エラー内容

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を設定する。

 

	<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カテゴリの最新記事