{project.parent.basedir}获取路径子模块而不是父模块路径

时间:2017-10-18 22:26:24

标签: java maven maven-2 pom.xml parent-pom

我在项目中有以下结构

| prj
  | a1_module
     |src
     |pom
  | a2_module
     |src
     |pom     
  | lib 
     xyz.jar
  |pom(parent)

现在我在子模块(a1_module)pom中注册xyz.jar:

 <dependency>
    <groupId>com.asd.prj</groupId>
    <artifactId>pubsub</artifactId>
    <version>1.0.0.</version>
    <scope>system</scope>
    <systemPath>${project.parent.basedir}/lib/pubsub_2.11-1.0.0-SNAPSHOTjar</systemPath>
</dependency>

我希望${project.parent.basedir}/lib/pubsub_2.11-1.0.0-SNAPSHOTjar应该给我prj/lib/pubsub_2.11-1.0.0-SNAPSHOTjar,但它会给我这样的路径prj/a1_module/lib/pubsub_2.11-1.0.0-SNAPSHOTjar

由于这个故障,我得到了错误,因为子模块中没有保留jar但是它保存在&#34; lib&#34;主项目目录。

This questionproject.parent.basedir应该给出该模块路径的父路径,但在我的情况下,它给出了子模块的路径,而不是父模块路径。

有任何建议说我做错了什么或者在子模块中注册我的本地jar的其他方法。

1 个答案:

答案 0 :(得分:0)

您可以使用:

<systemPath>${basedir}/../lib/pubsub_2.11-1.0.0-SNAPSHOTjar</systemPath>