现在,我已经看过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>
答案 0 :(得分:8)
如果您使用m2e插件从Eclipse编译,则可能会遇到此错误。
解决方法是在Maven运行配置中取消选中Resolve Workspace artifacts
。
答案 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都不会产生“拒绝访问”错误