diff --git a/maven-plugins/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java b/maven-plugins/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java index 7551832818..fe890a793b 100755 --- a/maven-plugins/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java +++ b/maven-plugins/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java @@ -222,14 +222,11 @@ private void unpackJar( File file, File tempLocation ) { JarEntry entry = (JarEntry) e.nextElement(); - if ( entry.isDirectory() ) + if ( !entry.isDirectory() ) { - new File( tempLocation, entry.getName() ).mkdir(); - } - else - { - IOUtil.copy( jar.getInputStream( entry ), - new FileOutputStream( new File( tempLocation, entry.getName() ) ) ); + File outFile = new File( tempLocation, entry.getName() ); + outFile.getParentFile().mkdirs(); + IOUtil.copy( jar.getInputStream( entry ), new FileOutputStream( outFile ) ); } } }