mavenプロジェクトでサブモジュールのあるプロジェクトで相対的なパスの解決ができない

@iwasaki 12views 更新:2017年10月20日

サブモジュールのあるmavenプロジェクト内でローカルのlibフォルダにあるjarファイルでdependencyを解決したい場合に

        <dependency>
            <groupId>hoge</groupId>
            <artifactId>hoge</artifactId>
            <version>1.0</version>
            <type>jar</type>
            <scope>system</scope>
            <systemPath>${user.dir}/ib/hoge-1.0.jar</systemPath>
        </dependency>

みたいにするかと思いますが、サブモジュールだけでビルドする場合と、全体をビルドする場合とでパスが変わってしまうのですがその解決方法が見つかりません。

Apache Maven 3.5.0

環境で確認したところ、

${session.executionRootDirectory}

${project.parent.basedir}

${project.basedir}

${user.dir}

いずれもだめでした。

参考

https://stackoverflow.com/questions/3084629/finding-the-root-directory-of-a-multi-module-maven-reactor-project

https://stackoverflow.com/questions/1012402/maven2-property-that-indicates-the-parent-directory

https://stackoverflow.com/questions/2165686/in-maven-can-i-specify-a-relative-path-above-my-current-project

https://stackoverflow.com/questions/19199898/maven-modules-are-trying-to-use-parent-dependencies

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません