【发布时间】:2014-04-15 16:08:49
【问题描述】:
使用 vagrant,我 git clone'd 我的 java 应用程序到 c:/shared。在我的Vagrantfile 中,我指定主机的c:/shared 将映射到我的虚拟机上的/home/vagrant/myapp。
当我在虚拟机中运行mvn clean compile 时,我遇到了这个错误:
core/myapp/target/classes/com/myapp/...
at org.apache.maven.plugin.clean.CleanMojo.execute(CleanMojo.java:215)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.io.IOException: Failed to delete core/myapp/target/classes/com/myapp/...
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:249)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:191)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:158)
但是,Maven 构建在我的 Windows(主机)机器上成功。
运行ls 会给出奇怪的输出,因为权限显示为问号(?):
[vagrant-centos65 parent]$ ls -lrot target/...
ls: cannot access ...
?????????? ? ? ? ? $Class$$doMethod$1$1$$anonfun$apply$2.class
我以用户 kevin 运行,其中 /home/vagrant/myapp 归 vagrant 所有。但是,myapp 的大多数(如果不是全部)目录都拥有完全开放的(766 或 777)权限。
过去,我在来宾虚拟机上成功编译,位于主机和来宾共享的目录中。
我正在使用:
vagrant - 1.3.5
Maven - 3.2.1
VirtualBox - 4.3.8
此外,我观察到此特定文件夹 (C:) 未根据此 post 编入索引。
EDIT即使在使用smb 托管文件时,我也会看到相同的错误。
为什么构建会在主机上成功,而不是在来宾上?
【问题讨论】:
-
哪个流浪版本?哪个同步类型的文件夹?
-
流浪者 1.3.5。我从未指定同步。我在主机上使用 Windows
标签: maven virtual-machine virtualbox vagrant