当我使用
构建项目时,偶尔会收到此错误>mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 15:51:28+0200)
Maven home: ...\apache-maven-3.0.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: ...
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
和错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources
(default-resources) on project project-name: Cannot create resource output directory:
path\to\project\code\project-name\target\classes -> [Help 1]
注意:有时会发生这种情况,并且与代码无关。它可能发生在两个连续构建中的一个 - 一个接一个,完全相同的源代码。
有没有人知道如何完全避免它?它往往会中断相当耗时的构建: - /
答案 0 :(得分:18)
在Windows上,无法创建文件夹的原因是:
Windows上的网络共享非常不可靠。不要将它们用于任何自动化任务。始终使用驻留在本地硬盘上的所有文件构建项目。
如果您同时使用Maven和Eclipse进行构建,则应将它们配置为使用不同的目标文件夹。见https://stackoverflow.com/a/54366009/34088
你的POM应该是这样的:
<project>
...
<build>
<outputDirectory>${basedir}/${target.dir}/classes</outputDirectory>
<testOutputDirectory>${basedir}/${target.dir}/test-classes</testOutputDirectory>
</build>
<properties>
<target.dir>target</target.dir>
</properties>
<profiles>
<profile>
<id>eclipse-folders</id>
<properties>
<target.dir>target-eclipse</target.dir>
</properties>
</profile>
</profiles>
...
剩下的就是在IDE中启用配置文件eclipse-folders
。
答案 1 :(得分:7)
禁用IDE的自动构建(Eclipse或IntelliJ IDEA或其他)。它将与Maven构建冲突。
答案 2 :(得分:5)
在Windows资源管理器中打开输出文件夹或父文件夹时,每次运行命令时都会遇到此问题。
如果我在 parent 上移一级,构建将成功结束。
答案 3 :(得分:1)
对我而言,原因只是在构建时使用我的git bash在所述文件夹中。确保您没有碰巧在任何其他程序中打开所述文件夹。
答案 4 :(得分:0)
在尝试运行First Cup教程时,我遇到了完全相同的问题。
我通过简单地关闭NetBeans并以管理员身份运行它来修复它(通过右键单击)。
答案 5 :(得分:0)
当我从Windows coammandprompt发出mvn clean
命令时,我的问题已解决
答案 6 :(得分:0)
在我的情况下,maven试图在其中创建目录的父目录是根目录,因此我在重新运行mvn命令之前做了一个sudo chown -R:/ path / to / directory来更改权限。
答案 7 :(得分:0)
就我而言,我用7zip打开了jar,然后打开了目标文件夹。我运行我的应用程序并收到此错误。关闭7zip后,该应用程序可以正常运行并成功构建。
答案 8 :(得分:0)
您可以在pom.xml中使用以下内容
<build>
<directory>${project.basedir}/target1</directory>
</build>