2013-08-08 2 views
3

Я попытался узнал Apache Ant с помощью этого учебника Apache Ant - tutorialApache Ant - Нет исходных файлов и никаких пакетов не указаны

, но после того, как я создал шаг за шагом построить файл и запустить его бросает:

compile: 
    [javac] /home/nazar_art/workspace/de.vogella.build.ant.first/src/test/build.xml:27: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 
jar: 
     [jar] Building MANIFEST-only jar: /home/nazar_art/workspace/de.vogella.build.ant.first/src/test/dist/de.vogella.build.test.ant.jar 
docs: 

BUILD FAILED 
/home/nazar_art/workspace/de.vogella.build.ant.first/src/test/build.xml:34: No source files and no packages have been specified. 

Я не понимаю, почему это произошло? Я использую Ubuntu 12.04 ОС и Eclipse Indigo.

build.xml:

<?xml version="1.0"?> 
<project name="Ant-Test" default="main" basedir="."> 
    <!-- Sets variables which can later be used. --> 
    <!-- The value of a property is accessed via ${} --> 
    <property name="src.dir" location="src" /> 
    <property name="build.dir" location="bin" /> 
    <property name="dist.dir" location="dist" /> 
    <property name="docs.dir" location="docs" /> 

    <!-- Deletes the existing build, docs and dist directory--> 
    <target name="clean"> 
    <delete dir="${build.dir}" /> 
    <delete dir="${docs.dir}" /> 
    <delete dir="${dist.dir}" /> 
    </target> 

    <!-- Creates the build, docs and dist directory--> 
    <target name="makedir"> 
    <mkdir dir="${build.dir}" /> 
    <mkdir dir="${docs.dir}" /> 
    <mkdir dir="${dist.dir}" /> 
    </target> 

    <!-- Compiles the java code (including the usage of library for JUnit --> 
    <target name="compile" depends="clean, makedir"> 
    <javac srcdir="${src.dir}" destdir="${build.dir}"> 
    </javac> 

    </target> 

    <!-- Creates Javadoc --> 
    <target name="docs" depends="compile"> 
    <javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}"> 
     <!-- Define which files/directory should get included, we include all --> 
     <fileset dir="${src.dir}"> 
       <include name="**" /> 
      </fileset> 
    </javadoc> 
    </target> 

    <!--Creates the deployable jar file --> 
    <target name="jar" depends="compile"> 
    <jar destfile="${dist.dir}\de.vogella.build.test.ant.jar" basedir="${build.dir}"> 
     <manifest> 
     <attribute name="Main-Class" value="test.Main" /> 
     </manifest> 
    </jar> 
    </target> 

    <target name="main" depends="compile, jar, docs"> 
    <description>Main target</description> 
    </target> 

</project> 

Часть кода:

package math; 

public class MyMath { 
    public int multi(int number1, int number2) { 
    return number1 * number2; 
    } 
} 

package test; 

import math.MyMath; 

public class Main { 
    public static void main(String[] args) { 
    MyMath math = new MyMath(); 
    System.out.println("Result is: " + math.multi(5, 10)); 
    } 
} 
  • Как решить эту неприятность?
+0

Он отлично подходит для моей конфигурации: Ant 1.9.4/Java 1.8.0 для Windows. Javadocs создаются для всех классов в обоих пакетах. – Dominik

ответ

0

В вашей ANT build.xml цель пытается создать документацию для пакета «src». Попробуйте указать правильное имя пакета, например «math», в <javadoc packagenames="src" sourcepath="...">, как packagenames="math,test". Вы можете прочитать ANT documentation, в котором приведены примеры использования задачи javadoc.

+1

это не помогает '33: не указаны исходные файлы и пакеты .' –