Maven-将插件执行委托给子模块

Maven-将插件执行委托给子模块,maven,multi-module,Maven,Multi Module,我已经为它的两个子模块提供了一个超级POM收集版本、插件和依赖项定义:一个用于webapp(使用jetty:run运行),另一个用于DB迁移(“使用liquibase:update运行”) 只要我将目录更改为子模块中的一个子模块,这就可以正常工作。 但是,当我在父POM上运行jetty:run或liquibase:update时,我希望看到插件执行“转发”到相应的子模块 你知道这样的事情能否实现吗 提前感谢, 罗尔夫 注:很抱歉更新太晚 母体聚甲醛 <project xmlns="http

我已经为它的两个子模块提供了一个超级POM收集版本、插件和依赖项定义:一个用于webapp(使用jetty:run运行),另一个用于DB迁移(“使用liquibase:update运行”)

只要我将目录更改为子模块中的一个子模块,这就可以正常工作。 但是,当我在父POM上运行jetty:run或liquibase:update时,我希望看到插件执行“转发”到相应的子模块

你知道这样的事情能否实现吗

提前感谢,

罗尔夫

注:很抱歉更新太晚

母体聚甲醛

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <modules>
            <module>webapp</module>
            <module>db-migrations</module>
    </modules>

    <!-- [...] -->

    <pluginManagement>
            <!-- [...] -->
            <plugins>
                    <!-- JETTY -->
                    <plugin>
                            <groupId>org.mortbay.jetty</groupId>
                            <artifactId>maven-jetty-plugin</artifactId>
                            <version>${jetty-plugin.version}</version>
                            <configuration>
                                    <contextPath>/</contextPath>
                                    <scanIntervalSeconds>10</scanIntervalSeconds>
                                    <connectors>
                                            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                                                    <port>9999</port>
                                                    <maxIdleTime>60000</maxIdleTime>
                                            </connector>
                                    </connectors>
                            </configuration>
                    </plugin>
                    <!-- LIQUIBASE -->
                    <plugin>
                            <groupId>org.liquibase</groupId>
                            <artifactId>liquibase-maven-plugin</artifactId>
                            <version>${liquibase.version}</version>
                            <configuration>
                                    <changeLogFile>src/main/resources/tv/esporx/master.xml</changeLogFile>
                                    <propertyFile>${env.file}</propertyFile>
                            </configuration>
                            <executions>
                                    <execution>
                                            <phase>process-resources</phase>
                                            <goals>
                                                    <goal>updateSQL</goal>
                                                    <goal>update</goal>
                                            </goals>
                                    </execution>
                            </executions>
                    </plugin>
    </pluginManagement>
</project>

4.0.0
网络应用
数据库迁移
org.mortbay.jetty
maven jetty插件
${jetty plugin.version}
/
10
9999
60000
org.liquibase
liquibase maven插件
${liquibase.version}
src/main/resources/tv/esporx/master.xml
${env.file}
过程资源
更新SQL
更新
数据库迁移

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- [...] -->

    <dependencies>
            <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
            </dependency>
    </dependencies>

    <build>
            <plugins>
                    <plugin>
                            <groupId>org.liquibase</groupId>
                            <artifactId>liquibase-maven-plugin</artifactId>
                    </plugin>
            </plugins>
    </build>
</project>

4.0.0
mysql
mysql连接器java
org.liquibase
liquibase maven插件
网络应用

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- [...] -->

    <build>
            <plugins>
                    <plugin>
                            <groupId>org.mortbay.jetty</groupId>
                            <artifactId>maven-jetty-plugin</artifactId>
                    </plugin>
            </plugins>
    </build>
</project>

4.0.0
org.mortbay.jetty
maven jetty插件

如果您在使用其他步骤之前安装了mvn

mvn -pl ChildModule lifecycle

从项目的根级别开始。

能否共享相关pom片段?例如,您是否在父pom中使用了
?是否可以显示pom的?因为否则就不可能给出任何建议。完成了,很抱歉我回复晚了。如您所见,所有内容都已收集在父pom文件中。然而,这两个插件仅在子级有效使用。最好告诉Maven在父级运行mvn liquibase:update(或updateSQL)和mvn jetty:run,将调用转发到适当的子项目。