[ https://issues.apache.org/jira/browse/MNG-6222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216413#comment-17216413 ]
Alexander Kriegisch commented on MNG-6222: ------------------------------------------ FWIW, while [answering StackOverflow question #64408756](https://stackoverflow.com/a/64408756/1082681) I found a hacky workaround until this feature is implemented. _Disclaimer: This is a nightmare and I am not proud of it, but it works. Use with care!_ Add a module to your project, producing the artifact you wish to exclude with a dummy version number, e.g. {code:xml} <?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>org.apache.maven.surefire</groupId> <artifactId>surefire-junit47</artifactId> <version>dummy</version> </project> {code} Then use the dummy artifact like this: {code:xml} <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire.version}</version> <configuration> <threadCount>1</threadCount> <properties> <!-- Avoid running JUnit 4 tests in TestNG engine --> <property> <name>junit</name> <value>false</value> </property> </properties> </configuration> <dependencies> <dependency> <!-- Deactivate JUnit 4.7 engine by overriding it with an empty dummy --> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit47</artifactId> <version>dummy</version> </dependency> </dependencies> </plugin> <!-- (...) --> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit47</artifactId> <version>dummy</version> </dependency> </dependencies> {code} > Support exclusion of direct plugin dependencies > ----------------------------------------------- > > Key: MNG-6222 > URL: https://issues.apache.org/jira/browse/MNG-6222 > Project: Maven > Issue Type: Improvement > Components: Plugins and Lifecycle > Reporter: Robert Scholte > Priority: Major > Fix For: Issues to be reviewed for 4.x > > > Based on > http://stackoverflow.com/questions/43630262/how-to-exclude-a-direct-dependency-of-a-maven-plugin > {code:xml} > <build> > <plugins> > <plugin> > <groupId>org.jvnet.jaxb2.maven2</groupId> > <artifactId>maven-jaxb2-plugin</artifactId> > <version>0.13.2</version> > <dependencies> > <dependency> > <!-- how to exclude javax.xml.bind:jaxb-api so it can be picked up > by the JRE --> > </dependency> > </dependencies> > </plugin> > </plugins> > </build> > {code} > Up until now there hasn't been any reason to do this, but this seems like a > valid one. Most clean solution I can think of is allowing to override the > scope with "none" for plugin dependencies. > This solution won't break the pom-4.0.0.xsd -- This message was sent by Atlassian Jira (v8.3.4#803005)