Ant复制任务:由于java.io.FileNotFoundException而无法复制

时间:2009-08-28 03:46:10

标签: java ant virtualbox

我正在尝试在Ant中编译Flex应用程序(这里没问题,我可以做得很好)。当我尝试将项目的内容发布到Windows网络驱动器(在我的系统上称为“Z:\”)时,我得到Java / Ant抛出的以下 LAME 异常:

BUILD FAILED
C:\workspace\bkeller\build.xml:42: Failed to copy C:\workspace\bkeller\web\assets\text\biography.html to Z:\web\bkeller\assets\text\biography.html due to java.io.FileNotFoundException Z:\web\bkeller\assets\text\biography.html (The system cannot find the file specified)

哪种糟透了。我找不到任何方法来摆脱这个问题,这对我的项目非常重要,我得到了这个工作。我确信我对网络驱动器有读/写/执行权限,我可以通过Windows资源管理器在驱动器上创建/编辑/删除文件。

Drive Z是虚拟机的网络安装,允许我访问我的主机操作系统Ubuntu。我已经仔细检查过它是否具有写入权限。有任何想法吗?

5 个答案:

答案 0 :(得分:3)

看看Z是如何进行网络安装,通过Windows资源管理器验证它是否有效(例如,您可以创建/写入文件)可能与验证它在Ant中的工作方式不同:

  1. 您可能在过去的某个时间指定了必要的用户/密码,资源管理器会记住它(因此它不会再次询问您)。蚂蚁显然不会。
  2. Ant可以作为不同的用户运行,特别是如果您在构建中生成另一个进程。
  3. 你能在java中编写一个简单的测试,看看它是否可以在你的Z:驱动器上创建一个文件?也许这会提供一些见解。您还可以使用-debug开关运行ant,看看它是否提供了更详细的信息。至少它会打印一个堆栈跟踪,您可以下载Ant源并查看发生了什么。

答案 1 :(得分:1)

刚遇到同样的问题。复制目标是连接到Windows 7计算机的常规网络驱动器。

我能够通过重启Eclipse来解决问题。

原因可能是Eclipse由于我之前一直在执行的Eclipse更新而以管理员权限运行。

答案 2 :(得分:0)

不用说文件确实存在吗?无论如何,虽然可能有权限,但实际运行ant任务的进程是否有权限?

答案 3 :(得分:0)

你当然想过这件事,但你试过吗

Z:/web/bkeller/assets/text/biography.html

即使在Windows上,我总是使用/而不是\,并且不记得复制目标有问题。

答案 4 :(得分:0)

这是VirtualBox共享文件夹系统中的一个问题。它在几个版本之前由3.0.X修复。