你好我正在通过eclipse运行一个生成一些代码的ant任务,但我得到的错误是在参数检查上
build/classes is not a readable directory
相关代码是:
if (!destDirectory.isDirectory()) {
error(destDirectory.toString() + " is not a readable directory");
}
我在Windows 7下执行此操作,该文件夹位于svn下,并且是带有VirtualBox的CentOS共享文件夹。该目录由另一个执行mkdir
的ant任务创建。
我正在运行有用户但是关闭了UAC并且我可以告诉他们应该没有任何权限问题。
编辑:
ant文件的某些部分:
<project name="xpto" default="compile" basedir=".">
<target name="prepare">
<echo message="Preparing the project for build..."/>
<mkdir dir="${classes.build.rel-dir}"/>
<mkdir dir="${db.rel-dir}"/>
<mkdir dir="${build.rel-dir}" />
<mkdir dir="${dist.dir}" />
</target>
<property name="src.rel-dir" value="src"/>
<property name="build.rel-dir" value="build"/>
<property name="classes.build.rel-dir" value="${build.rel-dir}/classes"/>
<target name="instrument-classes" depends="compile">
<dml-post-processor dir="${classes.build.rel-dir}">
<fileset file="${dml.rel-file}"/>
<classpath refid="project.classpath" />
</dml-post-processor>
</target>
</project>
所以我认为路径正确并将使用./build/classes
编辑:
instrument-classes:
[echo] Injecting FenixFramework Voodoo Magic...
[echo] path -> build/classes
在echo
${classes.build.rel-dir}
的输出
答案 0 :(得分:1)
在使用eclipse的ant-plugin时,我使用熟悉的框架(fenix)遇到了这个问题。事实上,该插件似乎从另一个不同的目录“运行”ant。 不过,从命令行运行ant(在windows7中)似乎对我有用。
因此,解决方案是在build.xml脚本中使用$ {basedir}变量,以获得定义良好的路径。
示例:
<property
name="dir.project.java"
value="${basedir}/src/project/" />
而不是:
<property
name="dir.project.java"
value="src/project/" />
对于过时的回复感到抱歉。