我有一个奇怪的错误,是弹出在我的Ant构建。构建工作如下:build.xml调用一个新的buildTargets.xml文件,在该文件中完成了大部分工作。buildTargets.xml在gwt-out/htdocs/**和另一个目录staging/htdocs/**中创建了一堆新文件。基本上,在gwt-out/htdocs中创建文件,然后复制到staging/htdocs中。错误是只有一个文件没有被复制,我得到一个java.IO.FileNotFoundException(访问被拒绝)错误。奇怪的是,每次构建时文件都会发生变化。
起初我认为这是Eclipse的问题,所以我通过命令行进行构建,并且没有将一个新的(与Eclipse不同的文件)放入staging/htdocs中,这产生了相同的错误。我用-debug标志附加了Ant所说的内容。当在buildTargets.xml中对文件进行标记时,错误似乎会弹出。在搜索之后,似乎最常见的反应是修复我的权限——然而,文件是动态创建的,当我去检查该文件时,所有权限都是启用的(除了"特殊"),所以我不认为这是问题所在。
其他类似于我的SO问题都处理在远程服务器上构建并修复我对该服务器的权限-然而这都是我的计算机本地的,所以我不确定这是问题。这可能是Ant构建中的复制任务出错吗?
错误如下:
BUILD FAILED
C:CSDKbuildbuildTargets.xml:253: Failed to copy C:Usersadminworksp
aceBuildPortaloutgwt-outhtdocswarBuildPortalTest.iOS_Bu
ild_PortalscmodulesISC_DataBinding.js to C:UsersadminworkspaceBuildPortal
outstaginghtdocswarBuildPortalTest.iOS_Build_Portalscm
odulesISC_DataBinding.js due to java.io.FileNotFoundException C:Usersadminwo
rkspaceBuildPortaloutstaginghtdocswarBuildPortalTest.iO
S_Build_PortalscmodulesISC_DataBinding.js (Access is denied)
at org.apache.tools.ant.taskdefs.Copy.doFileOperations(Copy.java:907)
at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:563)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
cutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.io.FileNotFoundException: C:UsersadminworkspaceBuildPortalo
utstaginghtdocswarBuildPortalTest.iOS_Build_Portalscmod
ulesISC_DataBinding.js (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
谢谢。
我最终使用了重试任务,这似乎是基于Isaac对可能出错的地方的描述。