开发者

Why does ant ignore task jars in $HOME/.ant/lib/

Configuration: I'm running stock Fedora 12 with the ant that Fedora ships:

  • ant-1.7.1-12.fc12
  • java-1.6.0-openjdk-1.6.0.0-33.b16.fc12

I have svnant.jar and svnClientAdapter.jar in my $HOME/.ant/lib/

I'm using the following 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>

When the build file is executed, I get the following error: [taskdef] Could not load definitions from resource svntask.properties. It could not be found.

If I set ANT_HOME to /usr/share/ant/ it wo开发者_运维问答rks flawlessly.

In both cases, the jars from my home directory are clearly in the output of the classpath.

How do I make this work without resorting to my own copy of ant, ANT_HOME and ant --noconfig?


This seems to be the problem described in Bug 490542 (that applies to Fedora 12 too according to the last comment). Sadly, the bug is still in a NEW state so I don't think it will be solved in a near future.

Regarding ANT_HOME, doesn't /etc/ant.conf set it to /usr/share/ant as explained here? This may be outdated but I can't check it (and I don't really get how this should be setup on Fedora).


I just had the same problem with maven-ant-tasks.jar. Ant showed the jar file in the classpath but didn't find it in the tag. The change of ANT_HOME didn't work for me, but I found another solution:

The optional jar files have to be registered in a simple text file in /etc/ant.d containing the name (or path) of the jar file, where the path is relative to /usr/share/java and without the extension ".jar".

So if you want to register maven-ant-tasks for example, then simply put maven-ant-tasks.jar (or it's symlink) into /usr/share/java and add the file "maven-ant-tasks" to /etc/ant.d consisting of the line: "maven-ant-tasks".

That works at least for me on openSuse 11.1. Maybe this helps somebody.

Hannes


I get same issue on centos 7 google cloud build-in ant is 1.9.x I try to download newest ant 1.10.x but have same issue

Setting ANT_HOME to /usr/share/ant/ also resolve it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜