java – 如何从Ant构建文件设置Eclipse构建路径和类路径?

关于Ant和Eclipse有很多讨论,但之前没有回答似乎对我有所帮助.

这是交易:我正在尝试构建一个Java程序,它可以从命令行成功编译Ant. (为了进一步混淆问题,我试图编译的程序是Ant本身.)

我真正想要做的是将这个项目带入Eclipse并在Eclipse中进行编译,以便正确解析类型绑定和变量绑定(来自Eclipse JDT的命名法).我需要这个,因为我需要对构建在Eclipse JDT之上的代码运行静态分析.我将Java项目引入Eclipse以便Eclipse构建并解析所有绑定的常规方法是将源目录导入Java项目,然后告诉它使用src / main /目录作为“源目录” “.

不幸的是,使用Ant执行此操作会导致构建失败并出现大量编译错误.在我看来,Ant构建文件正在设置类路径并正确构建路径(可能通过排除某些源文件),Eclipse没有这些信息.

是否有任何方法可以采取课程路径&构建嵌入在Ant构建文件中的路径信息,并将该信息提供给Eclipse以放入其.project和.classpath文件中?我试过,从现有的构建文件(文件菜单中的一个选项)创建一个新项目,但这没有帮助.该项目仍然具有相同的编译错误.

谢谢,
内尔斯

最佳答案
我从来没有找到一种非常干净的方法来做到这一点,但一种“hackish”方法是操纵eclipse使用的.classpath文件(这包含构建路径).

所以.classpath会有这样的东西:

<classpathentry kind="lib" path="C:/jboss-4.2.3.GA/client/jboss-system-client.jar"/>

例如,您可以编写某种批处理脚本等,它们会读取您的ant文件依赖项并将它们放入eclipse .classpath文件中(当然,格式正确).

但就个人而言,我从不愚弄这些事情.我所做的只是将我的项目所需的所有罐子放在一个文件夹中,然后在我的ant文件中我有一个如下所示的路径:

<path id="all_libs">
    <fileset dir="test_reflib">
        <include name="**/*.jar"/>
    </fileset>
</path>

test_reflib只需要定义到包含所有jar的文件夹的任何位置.

然后,在日食方面你可以做一个“添加罐子”并导航到同一个文件夹,然后选择所有的罐子.更酷的是,无论何时将新罐放入此文件夹,只需单击eclipse项目的根级别并执行“刷新”,然后编辑构建路径并再次单击添加jar,它将仅显示罐子您还没有添加到构建路径(即刚刚放入文件夹中的新jar).

如果你在一个中心位置共享罐子,这显然不会很好,但它适用于较小的项目,你可以将所有罐子复制到项目的集中文件夹.

转载注明原文:java – 如何从Ant构建文件设置Eclipse构建路径和类路径? - 代码日志