2011-11-20 71 views
1

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

因此,最初的文件结构如下:

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 - > Run As Ant Build时,一切都可以正常运行。但是,Eclipse不接受HelloPe60t0.java位于com.pe60t0.project2.component1文件夹中,并且抱怨目录结构。所以我不知道为什么在命令行中所有的东西都编译和运行正常,并且eclipse抱怨。

任何帮助将不胜感激。请注意我是Ant新手,我一直在使用目录和文件夹时遇到问题,所以请原谅我是否漏掉了一些明显的问题。

问候,

斯托

+0

您可以将以下信息添加到您的问题:您是如何将您的Java项目添加到eclipse的?你的项目的构建路径属性是什么(可以在'Properties> Java Build Path'中找到)?你的Java Build Path中包含你的目录'project2/src/java'吗?问题视图中显示的确切错误或问题是什么? – mliebelt

回答

2

两个Ant构建和Eclipse项目中应该设置src/java为源目录,而不是src。源代码目录应该包含包树的根目录。

0

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