配置:我正在使用Fedora发布的蚂蚁运行Fedora 12库存:
我的svnant.jar
svnClientAdapter.jar
和$HOME/.ant/lib/
我正在使用以下build.xml
:
<project name="antlibtest" default="doEcho">
<taskdef resource="svntask.properties"/>
<target name="doEcho">
<echo message="Hello World!"/>
<echo message="ANT_HOME=${ant.home}"/>
<echo message="classpath=${java.class.path}"/>
</target>
</project>
执行构建文件时,出现以下错误: [taskdef]无法从资源svntask.properties加载定义。它无法找到。
如果我将ANT_HOME设置为/usr/share/ant/
,它可以完美运行。
在这两种情况下,我的主目录中的jar显然都在类路径的输出中。
如何在不使用我自己的ant,ANT_HOME和ant -noconfig副本的情况下完成这项工作?
答案 0 :(得分:1)
这似乎是Bug 490542中描述的问题(根据上一条评论也适用于Fedora 12)。可悲的是,这个bug仍处于新状态,所以我认为它不会在不久的将来得到解决。
关于ANT_HOME,/etc/ant.conf
没有像解释here那样将其设置为/usr/share/ant
?这可能已经过时但我无法检查它(我真的不知道应该如何在Fedora上设置它。)
答案 1 :(得分:1)
我和maven-ant-tasks.jar有同样的问题。 Ant在类路径中显示了jar文件,但未在标记中找到它。 ANT_HOME的更改对我不起作用,但我找到了另一种解决方案:
可选的jar文件必须在/etc/ant.d中的简单文本文件中注册,该文件包含jar文件的名称(或路径),其中路径是相对于/ usr / share / java而没有扩展名“.jar”。
因此,如果你想注册maven-ant-tasks,那么只需将maven-ant-tasks.jar(或它的符号链接)放入/ usr / share / java并添加文件“maven-ant-tasks”到/etc/ant.d由以下行组成:“maven-ant-tasks”。
至少在openSuse 11.1上对我有用。也许这有助于某人。
汉纳斯
答案 2 :(得分:0)
我在centos 7上得到同样的问题google cloud build-in ant是1.9.x. 我尝试下载最新的ant 1.10.x但有相同的问题
将ANT_HOME
设置为/usr/share/ant/
也可以解决此问题。