Hello all, I have a problem running exec-maven-plugin in a multi-module project _without_ installing snapshots to my local repository. What happens is that Maven seems to require that dependencies are "resolved" during the "generate-sources" phase so if I run "mvn generate-sources" it complains about previous modules NOT being on the classpath (even though they are not needed for source generation). Ironically, running "mvn compile" has no issue as it uses target/classes from previous modules. A simple project to replicate:
parent-prj parent-prj/sub-prj parent-prj/gen-src-prj <-- depends on 'sub-prj', has exec-maven plugin The POMs: -------- <?xml version="1.0" encoding="UTF-8"?> <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> <groupId>mygrp</groupId> <artifactId>parent-prj</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>sub-prj</module> <module>gen-src-prj</module> </modules> </project -------- <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>mygrp</groupId> <artifactId>parent-prj</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>sub-prj</artifactId> </project> -------- <?xml version="1.0" encoding="UTF-8"?> <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> <parent> <groupId>mygrp</groupId> <artifactId>parent-prj</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>gen-src-prj</artifactId> <dependencies> <dependency> <groupId>mygrp</groupId> <artifactId>sub-prj</artifactId> <version>${project.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.6.0</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <includeProjectDependencies>false</includeProjectDependencies> <includePluginDependencies>true</includePluginDependencies> <mainClass>uk.co.real_logic.sbe.SbeTool</mainClass> <systemProperties> <systemProperty> <key>sbe.output.dir</key> <value>${project.build.directory}/generated-sources/java</value> </systemProperty> <systemProperty> <key>sbe.validation.warnings.fatal</key> <value>true</value> </systemProperty> </systemProperties> <arguments> <argument>${project.build.resources[0].directory}/Examples.xml</argument> </arguments> <workingDirectory>${project.build.directory}/generated-sources/java</workingDirectory> </configuration> <dependencies> <dependency> <groupId>uk.co.real-logic</groupId> <artifactId>sbe-tool</artifactId> <version>1.7.10</version> </dependency> </dependencies> </plugin> </plugins> </build> </project> Notice that I use "<includeProjectDependencies>false</includeProjectDependencies>" in an attempt to tell Maven that there is no need to actually have project dependencies actually available. Is there a way to run "mvn generate-sources" with this structure and have it invoke exec-maven-plugin without compiling anything? -- Sent from: http://maven.40175.n5.nabble.com/Maven-Users-f40176.html --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
