引言:
今天同事发现我编写的Ant小脚本(脚本表达不准确,要精研,请读《Ant权威指南》吧,有说明。俺不是老学究,先这样用着)。在他那边运行时会报如下错误:
Buildfile: E:\myworks\ccxeExcelPluginSliceFiles\slice2java.xml
preDefine:
slice2java.compile:
[slice2java] slice2java --output-dir
E:\myworks\ccxeExcelPluginSliceFiles\generated
E:\myworks\ccxeExcelPluginSliceFiles\slice\stock\StockQuotationDef.ice
...
BUILD FAILED
E:\myworks\ccxeExcelPluginSliceFiles\slice2java.xml:22:
Execute failed: java.io.IOException:
Cannot run program "slice2java": CreateProcess error=2, ?????μ???
Total time: 218 milliseconds
但在我机器上是正常的。源代码如下:
<?xml version="1.0" encoding="utf-8"?> <project name="autoBuild_slice2java" default="slice2java.compile" basedir="."> <!-- defind all parameters --> <property name="slice.dir" value="slice"> </property> <property name="generated.dir" value="generated"> </property> <!-- [modify]** Set the SETUP_HOME of the ICE.** --> <property name="ice.home.dir" value="D:/kits/ice/ZeroC/Ice-3.4.1"> </property> <!-- prepare environment and 'slice2java' command support. --> <target name="preDefine" description="Slice: add all prepared defines."> <mkdir dir="${generated.dir}" /> <taskdef name="slice2java" classpath="${ice.home.dir}/lib/ant-ice.jar" classname="Slice2JavaTask"> </taskdef> </target> <!-- run slice2java --> <target name="slice2java.compile" depends="preDefine" description="Slice: compile all *.ice."> <slice2java outputdir="${generated.dir}"> <fileset dir="${slice.dir}"> </fileset> </slice2java> </target> <!-- clear slice2java --> <target name="slice2java.clear" description="Slice: delete generated directory to clear *.java from *.ice."> <delete includeemptydirs="true"> <fileset dir="${generated.dir}" includes="**/*"> </fileset> </delete> </target> </project>
查过一些资料后,提到的可能原因主要集中在:
A)Ant安装是否成功;
B)JDK环境变量是否正确;
C)Eclipse环境变量云云。
本文随后会将此问题进行探索寻求解决。
正文:
(晚点再写)
(继续接上)
不知道怎么说,刚才同事重启了一下电脑。好了!! >。<
系统winXP-sp3,eclipse3.4,jdk1.6_10。今天上午他刚装的Ant,调半上午都是eclipse下直接Run Build报的如上错误。最终以重启电脑的方式解决。
最后要说明的是:
1,搜索时提到的问题::
A)Ant安装成功可以通过"$ant -help"来测试;
B)JDK只需把BIN要配入PATH,其他不是必须的;
C)eclipse环境变量的说法,指的是项目的BuildPath | Add Variable...,变量只作用于当前eclipse环境下的运行 。
2,关于重启电脑后,环境变量生效之说。
表示“难道xp下环境变量设置后要重启才能使用?”——哪门子的事啊,who 跟 who啊!抓狂的问题。
尾声:
如果有朋友遇到相似问题,欢迎跟贴说明,感觉重启电脑这一手法,有点太过“诡异”。令人无语的XP。