我的 Ant 构建中出现了一个奇怪的错误。构建的工作方式如下:build.xml 调用新的 buildTargets.xml 文件,并且在该文件中完成大部分工作。 buildTargets.xml 在 gwt-out/htdocs/** 和另一个目录 staging/htdocs/** 中创建一堆新文件。基本上,文件是在 gwt-out/htdocs 中创建的,然后复制到 staging/htdocs 中。错误是只有一个文件未被复制,并且我收到 java.IO.FileNotFoundException(访问被拒绝)错误。奇怪的部分是文件在不同的版本中发生变化。
起初我以为这是一个 Eclipse 问题,所以我通过命令行构建,并且一个新的(与 eclipse 不同的文件)没有被放入 staging/htdocs 中,这产生了相同的错误。我已经附上了 Ant 所说的 -debug 标志。当文件在 buildTargets.xml 中标记化时,似乎会弹出该错误。环顾四周后,似乎最常见的反应是修复我的权限——但是该文件是动态创建的,当我去检查该文件时,所有权限都已启用(“特殊”除外),所以我不我认为这就是问题所在。
其他与我类似的问题都涉及在远程服务器上构建并修复我对该服务器的权限——但这都是我的计算机本地的,所以我也不确定这是否是问题。难道是Ant构建中的复制任务出错了?
这是错误:
BUILD FAILED
C:\CSDK\build\buildTargets.xml:253: Failed to copy C:\Users\admin\worksp
ace\BuildPortal\out\gwt-out\htdocs\war\BuildPortalTest.iOS_Bu
ild_Portal\sc\modules\ISC_DataBinding.js to C:\Users\admin\workspace\BuildPortal
\out\staging\htdocs\war\BuildPortalTest.iOS_Build_Portal\sc\m
odules\ISC_DataBinding.js due to java.io.FileNotFoundException C:\Users\admin\wo
rkspace\BuildPortal\out\staging\htdocs\war\BuildPortalTest.iO
S_Build_Portal\sc\modules\ISC_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:\Users\admin\workspace\BuildPortal\o
ut\staging\htdocs\war\BuildPortalTest.iOS_Build_Portal\sc\mod
ules\ISC_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)
Thanks.
我最终使用了重试任务 http://ant.apache.org/manual/Tasks/retry.html,根据艾萨克对可能出现问题的描述,这似乎是有效的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)