0

我编写了一个 Maven 插件,它在我的项目的类路径上创建了一些 XML 文件。Maven 项目相当复杂,有一个主项目和许多子项目(想想更大应用程序的服务)。

该插件在 pom.xml 中接受一个目录参数,它与类路径相关,如下所示:

<docDestination>src/main/webapp/static/</docDestination>

但是,当我尝试通过 访问此文件夹时,生成的目录取决于我从中运行触发插件new File(docDestination)的命令的项目(或子项目) 。mvn install

该插件仅在pom.xml其中一个子项目中指定,但如果我从父项目运行 mvn-install,它会在src/main/...父应用程序的文件夹中创建 XML 文件。如何让插件使用声明它的项目的文件系统而不是父项目的文件系统?

我应该注意,如果我导航到终端中的子项目并mvn install在该目录中运行,文件将在正确的位置创建,这解释了我的帖子的标题。

4

1 回答 1

1

使用 ${basedir} 变量:

<docDestination>${basedir}/src/main/webapp/static</docDestination>

这应该使用各个模块当前使用的 basedir(无论这是顶级模块还是子模块)。

于 2012-07-11T15:09:36.323 回答