Usage of maven ${basedir} in multi-module setup
Although it is annoying in your case, this is well-known and intentional. A maven project should know about its execution directory only, no matter in what context it is executed.
I asked almost the same question: Maven variable for reactor root earlier, and the only answer that made sense was to use ${user.dir}
, although it's hacky and will not work if you build from a module directory.
(There is also this very verbose solution: Maven2 property that indicates the parent directory)
How about having multiple repos?
<repositories>
<repository>
<id>ibm-jars-bundle-lv0</id>
<url>file://${basedir}/ibm-jars-bundle/repo</url>
</repository>
<repository>
<id>ibm-jars-bundle-lv1</id>
<url>file://${basedir}/../ibm-jars-bundle/repo</url>
</repository>
<repository>
<id>ibm-jars-bundle-lv2</id>
<url>file://${basedir}/../../ibm-jars-bundle/repo</url>
</repository>
</repositories>