2011-11-20 162 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來檢查設置。首先要檢查的是它們是否匹配。