protected void unpack(File source, File destination) { UnArchiver unzip; try { unzip = plexus.lookup(UnArchiver.class, "zip"); } catch (ComponentLookupException e) { throw new RuntimeException("Could not lookup required component", e); } unzip.setIgnorePermissions(true); destination.mkdirs(); unzip.setSourceFile(source); unzip.setDestDirectory(destination); try { unzip.extract(); } catch (ArchiverException e) { throw new RuntimeException("Unable to unpack jar " + source, e); } }
private void extractArtifact(Artifact artifact, File destinationDirectory) throws MojoExecutionException { try { UnArchiver unArchiver = archiverManager.getUnArchiver(artifact.getFile()); unArchiver.setUseJvmChmod(true); unArchiver.setIgnorePermissions(false); unArchiver.setSourceFile(artifact.getFile()); unArchiver.setDestDirectory(destinationDirectory); unArchiver.extract(); } catch (NoSuchArchiverException e) { throw new MojoExecutionException("Could not find archiver for artifact " + artifact.getArtifactId()); } } }
unArchiver.setIgnorePermissions( ignorePermissions );