Mam wersje super zbierania POM, wtyczki & definicje zależności dla jego 2 podmodułów potomnych: jeden dla webapp (uruchomiony z pomostem: run), drugi dla migracji DB (" uruchomiony "with liquibase: update).Maven - delegowanie wykonania wtyczki do modułu podległego
Działa to dobrze, o ile zmieniłem katalog na jeden z submodułów ". Jednak, gdy uruchomię pomost: uruchom lub płyn: zaktualizuj na macierzystym POM, chciałbym zobaczyć wykonanie wtyczki "przekazane" do odpowiedniego modułu.
Czy masz pojęcie, czy coś takiego można osiągnąć?
Dzięki z góry,
Rolf
P.S .: przepraszam za opóźnienie w aktualizacji
RODZICÓW 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 MIGRACJE
<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>
Czy możesz udostępnić odpowiedni fragment pom? Na przykład, czy używasz '' w twoim pom-rodzicu? –
Raghuram
Czy możesz pokazać pom? Ponieważ w przeciwnym razie nie można podać żadnych sugestii. – khmarbaise
zrobione, przepraszam za moją spóźnioną odpowiedź. Jak widać, wszystko jest już zebrane w macierzystym pliku pom. Jednak obie wtyczki są skutecznie używane tylko na poziomie podrzędnym. Co byłoby miłego byłoby powiedzieć Mavenowi, że mvn liquibase: update (lub updateSQL), a także mvn jetty: uruchom na poziomie nadrzędnym, aby przekazać wywołanie odpowiednich projektów podrzędnych. – Rolf