I have the next project structure:
app
module1
module2
...
moduleN
parent-pom
Project app
contains only properties files and JasperReports's reports templates. Pom.xml of app:
<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>my-group</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0.0</version>
<relativePath>../parent-pom</relativePath>
</parent>
<artifactId>app</artifactId>
<version>${app-version}</version>
<packaging>pom</packaging>
<modules>
<module>../module1</module>
<module>../module2</module>
...
<module>../moduleN</module>
</modules>
I want to add jasperreports-maven-plugin for project app. I've tried next code (before <modules>
section), but it doesn't work (self build wasn't called):
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<configuration>
<sourceDirectory>${basedir}/config/templates</sourceDirectory>
<outputDirectory>${basedir}/config/templates</outputDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>compile-reports</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>${jasperreports.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
Is it possible to add self build to pom with modules?
The app project packaging is set to pom - so it can't have any other artifacts. You will need to move the jasper reports to one of the other modules or a separate module.