使用ant引用jar的外部文件夹(不是/ libs)

时间:2012-09-05 09:18:03

标签: java android ant jar external

我看了here,问题似乎与我提出的问题非常相似。但是我无法从那里选择的答案中找出解决方案。

以下是我的蚂蚁输出:

-compile:
[javac] Compiling 102 source files to /Users/goat/src/myproject/core/bin/classes
[javac] /Users/goat/src/myproject/core/src/com/app/utils/PriorityThreadPoolExecutor.java:8: cannot find symbol
[javac] symbol  : class RunnableFuture
[javac] location: package java.util.concurrent
[javac] import java.util.concurrent.RunnableFuture;
[javac]                            ^

无法识别RunnableFuture类。这个类可以在java.util.concurrent中找到,它位于两个地方:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
/Applications/android-sdk-mac_x86/platforms/android-7

我想从第一个路径使用库而不将其复制到我的libs文件夹。这在Eclipse中工作得很好,因为我已经正确设置了.classpath但是我不知道如何设置ant以便它可以引用libs文件夹以及这个外部文件夹。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您只需要生成一个类路径并将其传递给javac

<path id="compile.classpath">
    <fileset dir="${lib.dir}">
        <include name="*.jar"/>
    </fileset>
</path>

<target name="compile">
    <javac srcdir="${src.dir}" destdir="${build.dir}/classes" debug="true">
        <classpath refid="compile.classpath"/>
    </javac>
</target>

请参阅https://ant.apache.org/manual/Tasks/javac.html