在特定目录中或在特定目录下运行时激活配置文件

时间:2019-01-11 19:59:15

标签: maven maven-3 maven-profiles

我有一个项目,要求项目特定的设置位于全局mvn settings.xml中。 (原因请参见底部。)

这对于那个项目来说很好用,但是当我在另一个项目上工作时,我不想应用镜像。

我的目录结构看起来像这样:

projects
  projA
    comp1
    comp2
      sub2a
      sub2b
  projb
    comp1
    comp2
    comp3
      sub3a
      sub3b

如果我从~/projects/projA或任何子目录构建,我希望<mirror>处于活动状态。如果我是根据~/projects/projB树构建的,则我不希望它处于活动状态。

我可以通过将其放在配置文件中并基于user.dir的值激活配置文件来完成这项工作。但是,我(我认为)需要针对每个子目录重复此操作,因为属性激活使用完全匹配。在我的实际系统中,有69个子目录,因此有很多重复项。另外,随着项目的发展,可能会出现更多的子目录,我想使它起作用,而不是要求我注意新目录的存在并记住将其添加到我的settings.xml中。

是否可以根据我所在的目录树来激活配置文件?

为什么在全局设置中需要项目设置

我正在使用tiles plugin,它在解析大量pom之前会修改pom的父级。磁贴存储在本地的,特定于项目的服务器上,因此我需要为插件创建<mirror>才能找到磁贴。 <mirror>元素无法放入pom,因此它必须位于我的全局settings.xml中。有more details here

0 个答案:

没有答案