在Eclipse中将Java项目与Ant集成

时间:2011-11-20 11:50:31

标签: java eclipse ant

我有一个关于在Eclipse中使用Java Ant项目的问题。最初我是从命令行创建一个Ant java项目,看看它是如何工作的。现在我想在Eclipse中使用它,我不知道如何继续。

所以初始文件结构如下:

project2/
    src/java/com/pe60t0/project2/component1/HelloPe60t0.java
    lib/
    ...

我有以下构建文件:

<?xml version="1.0"?>
<project name="HelloPe60t0" basedir="." default="main">
    <property name="src.dir"     value="src"/>
    <property name="build.dir"   value="build"/>
    <property name="lib.dir" value="lib"/>
    <property name="classes.dir" value="${build.dir}/classes"/>
    <property name="jar.dir"     value="${build.dir}/jar"/>
    <property name="main-class"  value="com.pe60t0.project2.component1.HelloPe60t0"/>
    <path id="classpath">
        <fileset dir="${lib.dir}" includes="**/*.jar"/>
    </path>
    <path id="application" location="${jar.dir}/${ant.project.name}.jar"/>
    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>
    <target name="compile">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
    </target>
    <target name="jar" depends="compile">
        <mkdir dir="${jar.dir}"/>
        <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
            <manifest>
                <attribute name="Main-Class" value="${main-class}"/>
            </manifest>
        </jar>
    </target>
    <target name="run" depends="jar">
        <java fork="true" classname="${main-class}">
            <classpath>
                <path refid="classpath"/>
                <path refid="application"/>
            </classpath>
        </java>
    </target>
    <target name="clean-build" depends="clean,jar"/>
    <target name="main" depends="clean,run"/>
</project>

HelloPe60t0.java的定义如下:

package com.pe60t0.project2.component1;

public class HelloPe60t0{
    public static void main(String[] args){
        System.out.println("Hello pe60t0 wuzup?");
    }
}

当我在命令行中键入“Ant”时,它会编译并正常运行。当我在Eclipse中并单击build.xml - &gt; Run As Ant Build再次正常运行。但是,Eclipse不接受HelloPe60t0.java位于com.pe60t0.project2.component1文件夹中并抱怨目录结构。所以我不确定为什么在命令行中所有内容都编译并运行正常并且eclipse抱怨。

任何帮助将不胜感激。请注意我是Ant新手,我一直在处理目录和文件夹时遇到问题,所以如果我错过了一些明显的东西,请原谅。

此致

斯托

2 个答案:

答案 0 :(得分:2)

你的ant build和你的eclipse项目都应该将src/java设置为源目录,而不是src。源目录应该包含包树的根。

答案 1 :(得分:0)

从您的ant文件看起来您的源代码在project / src中,然后将其编译为项目/类。如果你在eclipse中创建一个java项目,它将使用project / src并编译成project / bin。您可以通过右键单击项目并转到Properties>Java Build Path来检查设置。首先要检查的是它们是否匹配。