You may get this error when you have incompatible version of maven and it’s maven shade plugin. Fixing version number mismatch will solve the issue.
Problem
You run maven package
command and pom.xml
file has maven shade plugin configuration.
[INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.4.2:shade (default) on project DropWizardExample: Execution default of goal org.apache.maven.plugins:maven-shade-plugin:2.4 .2:shade failed: A required class was missing while executing org.apache.maven.plugins:maven-shade-plugin:2.4.2:shade: org/apache/commons/io/IOUtils [ERROR] ----------------------------------------------------- [ERROR] realm = plugin>org.apache.maven.plugins:maven-shade-plugin:2.4.2 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR] urls[0] = file:/C:/M2/org/apache/maven/plugins/maven-shade-plugin/2.4.2/maven-shade-plugin-2.4.2.jar [ERROR] urls[1] = file:/C:/M2/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar [ERROR] urls[2] = file:/C:/M2/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar [ERROR] urls[3] = file:/C:/M2/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar [ERROR] urls[4] = file:/C:/M2/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar [ERROR] urls[5] = file:/C:/M2/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar [ERROR] urls[6] = file:/C:/M2/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar [ERROR] urls[7] = file:/C:/M2/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar [ERROR] urls[8] = file:/C:/M2/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar [ERROR] urls[9] = file:/C:/M2/org/ow2/asm/asm/5.0.2/asm-5.0.2.jar [ERROR] urls[10] = file:/C:/M2/org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.jar [ERROR] urls[11] = file:/C:/M2/org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.jar [ERROR] urls[12] = file:/C:/M2/org/jdom/jdom/1.1/jdom-1.1.jar [ERROR] urls[13] = file:/C:/M2/org/apache/maven/shared/maven-dependency-tree/2.2/maven-dependency-tree-2.2.jar [ERROR] urls[14] = file:/C:/M2/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar [ERROR] urls[15] = file:/C:/M2/commons-io/commons-io/2.2/commons-io-2.2.jar [ERROR] urls[16] = file:/C:/M2/org/vafer/jdependency/1.0/jdependency-1.0.jar [ERROR] urls[17] = file:/C:/M2/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar [ERROR] urls[18] = file:/C:/M2/org/ow2/asm/asm-util/5.0.3/asm-util-5.0.3.jar [ERROR] urls[19] = file:/C:/M2/com/google/guava/guava/11.0.2/guava-11.0.2.jar [ERROR] urls[20] = file:/C:/M2/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar [ERROR] Number of foreign imports: 1 [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] [ERROR] [ERROR] -----------------------------------------------------: org.apache.commons.io.IOUtils [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] https://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
Solution
Please correct the shade plugin version in line with maven version, and you will be good.
I have this pom.xml
working perfect for me.
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd; <modelVersion>4.0.0</modelVersion> <groupId>com.howtodoinjava.demo</groupId> <artifactId>DropWizardExample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>DropWizardExample</name> <url>http://maven.apache.org</url> <properties> <dropwizard.version>1.0.0</dropwizard.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-core</artifactId> <version>${dropwizard.version}</version> </dependency> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-client</artifactId> <version>${dropwizard.version}</version> </dependency> </dependencies> <build> <finalName>DropWizardExample-${version}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.howtodoinjava.rest.App</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
Let me know if it solves your problem.
Happy Learning !!