Maven Shading Error: Access is Denied
Asked Answered
S

6

6

Now, I have already seen this question, however it doesn't appear anything is using my target folder.

What's going on, is when I compile it fails and shows me this error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.3:shade (default) on project FooProject: Error creating shaded jar: Failed to analyze class dependencies: C:\Users\paul_000\Documents\FooCore\target\classes (Access is denied) -> [Help 1]

I'm not quite sure exactly why this happens, as it doesn't happen on my normal computer.

EDIT: I forgot to mention, the jar I am shading does not exist on a repository. I just compile it locally (clean install). As well, here's what I use to shade:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
    <configuration>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <minimizeJar>true</minimizeJar>
            </configuration>
        </execution>
    </executions>
</plugin>
Student answered 2/6, 2014 at 1:47 Comment(2)
Maybe the target directory created with admin rights or is locked by another process. Using the -e switch to get the complete stacktrace will also help.Plicate
I'll check the full stacktrace, however it does not have admin rights (I am the only admin + I checked). I've restarted in safe mode to the same result, so I doubt it is a process.Student
C
9

You can face this error, if you're compiling from Eclipse with m2e plugin.

The workaround is to uncheck Resolve Workspace artifacts in the Maven Run Configuration.

enter image description here

Chromatin answered 10/7, 2015 at 0:44 Comment(6)
This solves previous problem but now I have problem that workspace artifact is not resolved... How can I have resolution turned on and get m2e plugin working?Antifreeze
@Antifreeze The workspace artifact is not resolved because it can't be found in your local repository. Right click on that workspace artifact then click Run As an click on Maven install. Your project should compile fine now.Chromatin
Thanks Stephan, I wasted my whole day looking for why it was not creating war.Evaporate
Thanks this helped me with an error ... target/classes (Is a Directory). Is there any way to solve this in a different way than disabling 'Resolve Workspace artifacts'?Harmonious
@Harmonious Can you post a new question with all the details of your particular case? Feel free to leave the link to the new question in a comment here.Chromatin
Here you go: Question #37942689. Thanks!Harmonious
R
1

I had a similar issue and as this is the first question that shows up on google, I add my solution as an answer here.
In my case, the problem was related to the dependencyReducedPomLocation I've set.
I wanted to move the dependency-reduced-pom to the target folder and so I've set the property to ${project.build.directory}.
However, this property does not expect a folder, but a file and the correct value for it would be ${project.build.directory}${file.separator}dependency-reduced-pom.xml.
After this change everything worked as expected.

Renell answered 30/10, 2019 at 12:25 Comment(0)
I
1

Upgrading maven-shade-plugin to 3.4.1 version resolved the issue.

Ithunn answered 17/3, 2023 at 19:41 Comment(0)
D
0

I am using Eclipse Spring with the maven plugin. I was seeing a similar error in the logs:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.3:shade (default) on project lds_ws_framework: Error creating shaded jar: C:\Users\fritchd\Documents\autoaction_archivetkitproject\target\classes (Access is denied) -> [Help 1]

I had recently updated my projects to use the maven-shade-plugin 2.3 from a different maven build process. I noticed I had a lot of artifacts from the previous process in the \target folder. So I tried just deleting all files under the \target directory for that project. When I reran the build, I didn't see the error.

Dwarf answered 2/6, 2015 at 18:52 Comment(1)
More than likely you had a program using a file in the directory, or you had a terminal inside that directory.Student
J
0

Use the artifactSet option of maven-shade-plugin

For whatever reason this way Eclipse does not produce the "Access Denied" error

Jarry answered 2/10, 2016 at 16:35 Comment(0)
E
0

I know this is an old question, but I got it from google search. What solved the issue for me was to upgrade maven-shade-plugin to version 3.5.1.

Endocentric answered 28/12, 2023 at 12:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.