我有一个关于在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>
和hellope60t .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的新手,我总是在使用目录和文件夹时遇到问题,所以如果我错过了一些明显的东西,请原谅我。
问候,
佩
您的ant构建和eclipse项目都应该将src/java
设置为源目录,而不是src
。源目录应该包含包树的根目录。
从ant文件中可以看出源代码位于project/src中,然后将其编译到project/classes中。如果您在eclipse中创建java项目,它将使用project/src并编译到project/bin中。您可以通过右键单击项目并转到Properties>Java Build Path
来检查设置。首先要检查的是它们是否匹配。