kohsuke/args4j

Building args4j-tools: Shade plugin generates error: Error creating shaded jar: access denied

jjrobinson opened this issue · 1 comments

When attempting to build the args4j-tools from source library for auto documentation creation, the maven shade plugin has problems accessing the "args4j-tools\target\classes" directory:

Maven Version: Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T14:10:27-06:00)
Maven home: C:\dev\lib\apache-maven-3.3.1\bin..
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: C:\dev\java\jdk1.8.0_51\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"

Command Executed: C:\dev\src\OpenSourceProjects\java\koshuke-args4j>mvn package

[INFO] --- maven-shade-plugin:1.4:shade (default) @ args4j-tools ---
[INFO] Including args4j:args4j:jar:2.32 in the shaded jar.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.806 s
[INFO] Finished at: 2015-07-28T13:39:58-06:00
[INFO] Final Memory: 21M/274M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:1.4:shade (default) on project args4j-tools: Error creating shaded jar: C:\dev\src\OpenSourceProjects\java\koshuke-args4j\args4j-tools\target\classes (Access is denied) > [Help 1]

Is this similar to the problem outlined below?
Pi4J/pi4j-v1#78

Re-ran Maven with -X for debug info:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:1.4:shade (default) on project args4j-tools: Error creating shaded jar: C:\dev\src\OpenSourceProjects\java\koshuke-args4j\args4j-tools\target\classes (Access is denied) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-
shade-plugin:1.4:shade (default) on project args4j-tools: Error creating shaded jar: C:\dev\src\OpenSourceProjects\java\koshuke-args4j\args4j-tools\target\classes (Access is denied)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:364)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:198)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error creating shaded jar: C:\dev\src\OpenSourceProjects\java\koshuke-args4j\args4j-tools\target\classes (Access is denied)
        at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:503)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 24 more
Caused by: java.io.FileNotFoundException: C:\dev\src\OpenSourceProjects\java\koshuke-args4j\args4j-tools\target\classes (Access is denied)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:220)
        at java.util.zip.ZipFile.<init>(ZipFile.java:150)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:130)
        at org.apache.maven.plugins.shade.DefaultShader.newJarFile(DefaultShader.java:195)
        at org.apache.maven.plugins.shade.DefaultShader.shade(DefaultShader.java:86)
        at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:444)
        ... 26 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Yes, that sure seems like the same problem. I am not a comfortable maven user (I've just recently started looking at using maven or gradle instead of my beloved ant). I am not able to replace the provided quotes in that link and obtain a functional maven build for the arg4j-tools pom.

One solution on that page mentions using the "maven-assembly-plugin" instead of shade, but that solution leaves out a phase reference, so how does maven know to use this plugin to make the fat jar for args4j-tools?