Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在父配置文件属性上激活Maven子配置文件_Maven_Pom.xml_Maven Profiles_Parent Pom - Fatal编程技术网

在父配置文件属性上激活Maven子配置文件

在父配置文件属性上激活Maven子配置文件,maven,pom.xml,maven-profiles,parent-pom,Maven,Pom.xml,Maven Profiles,Parent Pom,我有两个pom,一个聚合和一个孩子,孩子有一个配置文件,我想根据父母配置文件中的属性集激活 父pom.xml <profiles> <profile> <id>emptyModules</id> <modules> <module>child</module> </modules> <proper

我有两个pom,一个聚合和一个孩子,孩子有一个配置文件,我想根据父母配置文件中的属性集激活

父pom.xml

<profiles>
    <profile>
        <id>emptyModules</id>

        <modules>
            <module>child</module>
        </modules>

        <properties>
            <emptyModules>true</emptyModules>
        </properties>
    </profile>
</profiles>

空模
小孩
真的
该子级有两个配置文件,一个有一些模块,另一个没有

<profiles>
    <profile>
        <id>modules</id>

        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>

        <modules>
            <module>module1</module>
            <module>module2</module>
        </modules>
    </profile>
    <profile>
        <id>emptyModules</id>

        <activation>
            <property>
                <name>emptyModules</name>
                <value>true</value>
            </property>
        </activation>

    </profile>
</profiles>

模块
真的
模块1
模2
空模
空模
真的

激活父emptyModule配置文件时,我希望激活子emptyModule配置文件,但使用默认配置文件!有什么想法吗?

您可以根据属性激活配置文件:

<profiles>
  <profile>
    <activation>
      <property>
        <name>someprop</name>
      </property>
    </activation>
    ...
  </profile>
</profiles>

某物
...

这可以用于同时激活父配置文件和子配置文件。

我认为这是不可能的,因为配置文件激活发生在构建过程的最开始。如果我理解正确,这是在执行pom的任何部分之前完成的。当您“激活”父emptyModules配置文件时,您使用的是什么Maven命令?例如,
mvn clean install-PemptyModules
从不按配置文件添加/删除模块……问题是您为什么需要此命令?你想解决什么样的问题……为了完整起见,我举了一个你拥有的小例子,它对我有效
mvn clean install-P emptyModule
只构建父模块和子模块,没有任何子模块,而
mvn clean install
正在构建一切。如果你对代码感兴趣,请告诉我。这不正是我在上面的儿童pom档案中看到的吗?对不起,我读得不够透彻。它认为不可能按照您的方式执行,但是您可以在命令行上设置参数,并在不同的配置文件中使用。