gpt4 book ai didi

java - "Ant all"不适合我

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:21 24 4
gpt4 key购买 nike

我参与了一个项目。这个项目使用了 ant,这不是我喜欢的东西。我查看了源代码并尝试在最外层目录上运行 ant。

在 commando 提示符下运行“ant”需要 1 秒,然后我收到一条 BUILD SUCCESFULL 消息。如果我运行 'ant all' 我会得到一个

构建失败。 Java.io.IOExceptio:无法运行程序“ant”:CreateProcess=2,系统找不到指定的文件,然后是一个很长的堆栈跟踪。

项目中的大多数人都运行 OS-X,而我使用 Windows XP。

感谢任何帮助或信息:)

编辑:

<target name="-all-submodules">     
<subantlight target="all">
<filelist refid="ordered_build_files"/>
</subantlight>
</target>

在另一个xml文件中

<macrodef name="subantlight">
<attribute name="target"/>
<element name="files" optional="no" implicit="true" description="Filessets/lists of build files"/>
<sequential>
<apply executable="ant" failonerror="true">
<arg value="-f"/>
<srcfile/>
<arg value="@{target}"/>
<files/>
</apply>
</sequential>
</macrodef>

这就是当它遇到“apply executeable..”行时抛出 IOException 的原因。

更新编辑:如果我这样设置绝对路径

<macrodef name="subantlight">
<attribute name="target"/>
<element name="files" optional="no" implicit="true" description="Filessets/lists of build files"/>
<sequential>
<apply executable="MyAbsolutePathHereToAnt.bat" failonerror="true">
<arg value="-f"/>
<srcfile/>
<arg value="@{target}"/>
<files/>
</apply>
</sequential>
</macrodef>

一切正常。

我已将 ANT_HOME 设置为我的 ant 目录。我已将 JAVA_HOME 设置为 Java JDK 目录。在我的路径中,我设置了 %ANT_HOME%\bin;%JAVA_HOME%\bin

调用 echo %ANT_HOME% 产生正确的路径。

我看不到我在这里错了什么。

最佳答案

没有属性的 ant 调用当前路径上 build.xml 文件的默认目标。 'ant all' 将在同一个构建文件上调用 'all' 目标。

首先 - 仔细检查默认的 ant 目标 - 它是“全部”还是不同的东西?我想,在您的情况下,默认目标不是“全部”,并且“全部”构建包含一个构建目标,它本身称为 ant。这导致了问题。

从这里很难分辨,但是扫描构建文件以在某些 中找到 任务。 IO 错误闻起来有点像违反用户访问权限或丢失此 任务附近/内部的文件。

编辑

build.xml 开头类似

<project name="Name" default="compile" basedir="/src">

“默认”属性命名默认目标。如果缺少该属性,将执行所有顶级目标(自 ant 1.6 起),这应该包括您的情况。

如果它适用于“其他人”,那么“其他人”可能会有不同的环境。查看脚本中的环境变量 ant 引用(如“env.JAVA_HOME”等)并与实际环境进行比较。也许你发现了一条 splinter 的道路。

关于java - "Ant all"不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com