Maven着色错误:访问被拒绝

时间:2014-06-02 01:47:37

标签: java eclipse maven access-denied

现在,我已经看过this question,但是看起来没有任何东西正在使用我的目标文件夹。

发生了什么事,就是当我编译它失败并向我显示这个错误时:

[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]

我不确定为什么会发生这种情况,因为它不会发生在我的普通电脑上。

编辑:我忘了提到,我正在着色的jar在存储库中不存在。我只是在本地编译它(干净安装)。 同样,这是我用来遮蔽的东西:

<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>

4 个答案:

答案 0 :(得分:8)

如果您使用m2e插件从Eclipse编译,则可能会遇到此错误。

解决方法是在Maven运行配置中取消选中Resolve Workspace artifacts

enter image description here

答案 1 :(得分:1)

我遇到了类似的问题,这是google上出现的第一个问题,因此我在此处添加解决方案作为答案。
就我而言,问题与我设置的dependencyReducedPomLocation有关。
我想将dependency-reduced-pom移至target文件夹,因此将属性设置为${project.build.directory}
但是,此属性不希望有文件夹,但是文件和正确的值为${project.build.directory}${file.separator}dependency-reduced-pom.xml
更改之后,一切都按预期进行。

答案 2 :(得分:0)

我正在使用带有maven插件的Eclipse Spring。我在日志中看到了类似的错误:

[错误]无法执行目标org.apache.maven.plugins:maven-shade-plugin:2.3:项目上的阴影(默认)lds_ws_framework:创建阴影jar时出错:C:\ Users \ fritchd \ Documents \ autoaction_archivetkitproject \ target \ classes(访问被拒绝) - &gt; [帮助1]

我最近更新了我的项目,使用来自不同maven构建过程的maven-shade-plugin 2.3。我注意到我在\ target文件夹中的前一个进程中有很多工件。所以我尝试删除该项目的\ target目录下的所有文件。当我重新构建时,我没有看到错误。

答案 3 :(得分:0)

使用maven-shade-plugin的artifactSet选项

无论出于何种原因,Eclipse都不会产生“拒绝访问”错误