I have a case where I to modify the version used by a transitive plugin
dependency and I'm not sure the best way to do this.
In my use case I have maven-antrun-plugin which has a dependency on
fmpp-maven-plugin which has a dependency on fmpp which uses version ranges
to specify its 4 dependencies one of those being freemarker. I need to fix
the version of freemarker (and maybe the other 3), how best can I do this?
I'm assuming I can't use my top level pluginManagement section because it's
not a plugin that I need to mange the version of. And I'm assuming I can't
use dependencyManagement for this because it's not a project dependency
that I need to mange either.
So what I have so far is exclude and then re-include in the plugin config.
Is this the right/best way to do this?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>${ant-contrib.version}</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>${ant-nodeps.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.fmpp-maven-plugin</groupId>
<artifactId>fmpp-maven-plugin</artifactId>
<version>${fmpp-maven-plugin.version}</version>
<exclusions>
<exclusion>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>
</dependencies>
-Dave
dependency and I'm not sure the best way to do this.
In my use case I have maven-antrun-plugin which has a dependency on
fmpp-maven-plugin which has a dependency on fmpp which uses version ranges
to specify its 4 dependencies one of those being freemarker. I need to fix
the version of freemarker (and maybe the other 3), how best can I do this?
I'm assuming I can't use my top level pluginManagement section because it's
not a plugin that I need to mange the version of. And I'm assuming I can't
use dependencyManagement for this because it's not a project dependency
that I need to mange either.
So what I have so far is exclude and then re-include in the plugin config.
Is this the right/best way to do this?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>${ant-contrib.version}</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>${ant-nodeps.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.fmpp-maven-plugin</groupId>
<artifactId>fmpp-maven-plugin</artifactId>
<version>${fmpp-maven-plugin.version}</version>
<exclusions>
<exclusion>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>
</dependencies>
-Dave