我正在尝试使用以下Ant脚本片段创建一个新的Property文件。
<propertyfile file="${path}/sample.properties">
<entry key="k1" value="v1"/>
</propertyfile>
尝试创建属性文件,我收到以下错误
(系统找不到指定的路径)。这里的路径也包含文件名。我确认了存在需要创建属性文件的父文件夹。
答案 0 :(得分:2)
我使用您的代码段创建了一个构建文件,但是看不到问题。如果path属性指定的目录不存在,则抛出异常,但这似乎是正确的行为。
我建议你添加一些测试来确认path属性的实际值。也许它没有达到你期望的价值。
<强>的build.xml 强>
<project>
<property name="path" value="./test"/>
<propertyfile file="${path}/sample.properties">
<entry key="k1" value="v1"/>
</propertyfile>
</project>
测试用例1 - “测试”目录不存在 - 预期结果失败
$ ls test
ls: cannot access test: No such file or directory
$ ant build.xml
Buildfile: /home/owen/stackoverflow/build.xml
[propertyfile] Creating new property file: /home/owen/stackoverflow/test/sample.properties
BUILD FAILED
/home/owen/stackoverflow/build.xml:3: java.io.FileNotFoundException: /home/owen/stackoverflow/test/sample.properties (No such file or directory)
Total time: 0 seconds
测试案例2 - 'test'目录现已推出 - 预期成果成功
$ mkdir test
$ ant
Buildfile: /home/owen/stackoverflow/build.xml
[propertyfile] Creating new property file: /home/owen/stackoverflow/test/sample.properties
BUILD SUCCESSFUL
Total time: 0 seconds
答案 1 :(得分:0)
编辑:抱歉没有看到提到父文件夹存在的部分。对我来说,给定的代码片段(在Eclipse中)。您的path
变量包含哪些内容以及您使用的环境是什么?
在path
变量指定的所有文件夹必须存在,然后Ant才能创建属性文件,甚至在执行任何目标之前。