>我在项目中有以下结构
| 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,但它保留在主项目的"lib"目录中。
这个问题说project.parent.basedir
应该给出该模块路径的父路径,但在我的情况下,它给了我子模块的路径而不是父模块路径。
任何关于我做错了什么的建议,或者有什么其他方法可以在子模块中注册我的本地 jar。
你可以使用这个:
<systemPath>${basedir}/../lib/pubsub_2.11-1.0.0-SNAPSHOTjar</systemPath>