【Doma】SQLファイルを正しく配置しているのにDOMA4019エラーが出る場合の対処方法

Java

スポンサーリンク

SQLファイルを正しく配置しているのに、Daoクラスで、DOMA4019エラー(パスにSQLファイルが見つからないエラー)が出て困っていたので解消方法の備忘録
※ちなみにこのエラーのままmaven installしても成功はする。

原因としては、resources配下がビルドパスに含まれていないため、コンパイルエラーになるようです。

①pom.xmlを修正

1.pom.xml内のpluginタグ内のorg.apache.maven.pluginsに以下を追加

<compilerArgs>
    <!-- if you are using a Maven project in Eclipse, this argument is required -->
    <arg>-Adoma.resources.dir=${project.basedir}/src/main/resources</arg>
</compilerArgs>

全体像としては、以下

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>17</source> <!-- depending on your project -->
        <target>17</target> <!-- depending on your project -->
        <annotationProcessorPaths>
            <path>
                <groupId>org.seasar.doma</groupId>
                <artifactId>doma-processor</artifactId>
                <version>${doma.version}</version>
            </path>
        </annotationProcessorPaths>
        <compilerArgs>
            <!-- if you are using a Maven project in Eclipse, this argument is required -->
            <arg>-Adoma.resources.dir=${project.basedir}/src/main/resources</arg>
        </compilerArgs>
    </configuration>
</plugin>

これで、resources配下がビルド対象になるよう。以下参考サイト

https://doma.readthedocs.io/ja/latest/build/#build-with-maven

②ビルド・パスを修正

①でもビルドエラーが解消されない場合はこれを試す。

1.プロジェクトのプロパティを開く

2.左のタブで、"Javaのビルド・パス"を選択、"ソース"の"resources"の"除外:**"を選択し、右の"除去"を押下
※デフォルトで、ビルドパスから"resources"フォルダは除外されているため、解除する。

3."除外:(なし)"となることを確認

4."適用"ボタンを押下

5.これでビルドエラーは解消されているはず。

Java

Posted by ton