Интегрировать проект Java с Ant в Eclipse - PullRequest
1 голос
/ 20 ноября 2011

У меня есть вопрос относительно использования проектов Java Ant в Eclipse.Изначально я создавал проект 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 -> Run As Ant Build, все снова работает правильно.Однако Eclipse не соглашается с тем, что HelloPe60t0.java находится в папке com.pe60t0.project2.component1, и жалуется на структуру каталогов.Поэтому я не уверен, почему в командной строке все компилируется и работает правильно, а затмение жалуется.

Любая помощь будет оценена.Обратите внимание, что я новичок в Ant, и у меня всегда были проблемы с работой с каталогами и папками, поэтому, пожалуйста, извините, если я пропустил что-то очевидное.

Ответы [ 2 ]

2 голосов
/ 20 ноября 2011

Как ваша сборка ant, так и ваш проект eclipse должны установить src/java в качестве исходного каталога, а не src.Предполагается, что исходный каталог содержит корень дерева пакетов.

0 голосов
/ 21 ноября 2011

Из вашего файла ant похоже, что ваш источник находится в проекте / src, и вы компилируете его в проект / классы. Если вы создадите java-проект в eclipse, он будет использовать project / src и скомпилировать в project / bin. Вы можете проверить настройки, щелкнув правой кнопкой мыши по своему проекту и выбрав Properties>Java Build Path. Первое, что нужно проверить, если они совпадают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...