代码之家  ›  专栏  ›  技术社区  ›  Daemon

Java-如何在Apache Ivy中创建JavaDocs

  •  0
  • Daemon  · 技术社区  · 12 年前

    我知道如何创造 javadocs 对于中的源文件 Apache Ant构建

     <target name="doc" description="generate documentation">
        <delete dir="${doc.dir}"/>
        <mkdir dir="${doc.dir}"/>
        <javadoc sourcepath="${source.dir}" destdir="${doc.dir}"/>
     </target>
    

    但我不知道如何在 阿帕奇常春藤

    有人能给我举个例子吗?

    3 回复  |  直到 12 年前
        1
  •  4
  •   noahlz    12 年前

    ApacheIvy是一个与ApacheAnt一起使用(而不是替代)的依赖关系管理库。因此,您将使用相同的 <javadoc> 任务一如既往。

        2
  •  2
  •   Jon7    12 年前

    ApacheIvy是一个与Ant(一个构建管理器)协同工作的依赖关系管理器。ApacheIvy通常(或者可能总是?)与Ant一起用于处理构建。由于创建javadoc是一个构建任务,而不是依赖任务,因此使用Ivy生成javadoc是没有意义的。

        3
  •  0
  •   David W.    12 年前

    看起来你在这里绕了一圈。艾薇和蚂蚁一起工作。你还有一个 build.xml 用于生成的文件。这个 ivy.xml 该文件只包含项目构建所需的第三方jar的列表。因此,你的问题的直接答案是:

    将以下内容放入 编译文件 以下为:

    <target name="doc" description="generate documentation">
        <delete dir="${doc.dir}"/>
        <mkdir dir="${doc.dir}"/>
        <javadoc sourcepath="${source.dir}" destdir="${doc.dir}"/>
    </target>
    

    当你使用Ivy时,你仍然使用Ant。而且,你还有一个 编译文件 文件而且,您仍然使用各种Ant任务编写构建。

    下载 this project 。这是一个简单的构建,包含三个类文件和 编译文件 文件您会注意到有一个jar目录,其中包含以下两个jar:

    • 普通日志-1.1.1.jar
    • 弹簧.jar

    如果你看一下 编译文件 文件中,项目正在创建一个编译类路径,如下所示:

     <path id="java">
         <fileset file="jar/spring.jar"/>
         <fileset file="jar/commons-logging-1.1.1.jar"/>
     </path>
    

    因此,当他编译时,他会这样做:

     <javac destdir="bin">
         <src path="${src}"/>
         <classpath refid="java"/>
     </javac>
    

    现在,让我们看看Ivy会如何改变这种情况。在常春藤,我创造了 ivy.xml 文件,其中包含我需要的罐子的描述。但是,我只需要指定我直接使用的类。在这种情况下,我只需要 spring.jar 。这是我的 ivy.xml 以下为:

    <ivy-module version="1.0>
         <info organisation="com.seantheflexguy"  
             name="ContextExample"
             revision="1.0"/>
    
        <configurations>
            <conf="default" visibility="public"/>
            <conf="compile" visibility="public"/>
        </configurations>
    
        <dependencies>
            <dependency org="org.springframework" name="spring"
                rev="2.0.4"   conf="compile->default"/>
        </dependencies>
    </ivy-module>
    

    现在,不要在 jar 目录中,我将让Ivy构建类路径:

     <ivy:resolve/>
     <ivy:cachepath pathid="java"/>
    
     <javac destdir="bin">
         <src path="${src}"/>
         <classpath refid="java"/>
     </javac>
    

    请注意,而不是使用 <path> 任务来创建类路径,我使用Ivy使用的两个Ant任务。这个 <ivy:resolve/> 看看我的 ivy.xml 并解决我对我请求的jar的依赖关系。这些罐子将被下载到我的 $HOME/.ivy2/cache 目录

    这个 <ivy:cachepath> 任务创建一个类路径,我称之为类路径 java 因为这就是它以前的名字。

    通过这两个Ivy任务,我创建了一个类路径,可以用于 <javac> 任务事实上,我甚至懒得改变 <javac> 任务

    所以,在常春藤:

    • 我仍然需要我的 编译文件 。这就是我如何定义我需要做的各种构建任务。事实上,Ivy在我的 编译文件 文件
    • 这个 ivy.xml 文件只是定义了我的jar依赖项。当我在这个项目中实现Ivy时,我可以删除 罐子 目录

    这有助于你理解Ivy是如何工作的吗?