6
我有一個超級POM收集版本,插件&它的兩個子子模塊的依賴關係定義:一個用於webapp(使用jetty:run運行),另一個用於DB遷移(「運行「與liquibase:更新)。Maven - 委託插件執行到子模塊
只要將目錄更改爲其中一個子模塊,就可以正常工作。 但是,當我在父POM上運行jetty:run或liquibase:update時,我希望看到插件執行「轉發」到相應的子模塊。
你有什麼想法可以實現這樣的事情嗎?
由於提前,
羅爾夫
P.S:對不起,我遲到更新
父POM
<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>
DB MIGRATIONS
<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>
WEBAPP
<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>
你能分享到相關的pom片段嗎?例如,你在你的父pom中使用''? –
Raghuram
2012-03-28 04:58:22
你能展示一下嗎?否則無法提供任何建議。 – khmarbaise 2012-03-28 14:53:43
完成了,對不起,我遲到的回覆。正如你所看到的,一切都已經收集在父pom文件中。但是,這兩個插件僅在子級別上有效使用。 最好是告訴Maven mvn liquibase:update(或updateSQL)以及mvn jetty:在父級上運行以將調用轉發給適當的子項目。 – Rolf 2012-03-31 02:53:24