自动下载Apache Ivy

请将以下内容用中文进行同义转述,仅需要一种选项:

“Can you help me with this task?”
“Could you assist me in completing this assignment?”

通过使用Apache Ivy,不再需要将依赖库的*.jar文件提交到版本管理系统(SCM)。在这个过程中,我们还避免了将ivy.jar提交到SCM中,开发者也无需手动下载。

也许不需要,但还是将其公开如下。

apache.mirror.site = http://ftp.riken.jp/net/apache
#apache.mirror.site = http://ftp.jaist.ac.jp/pub/apache
#apache.mirror.site = http://ftp.kddilabs.jp/infosystems/apache
#apache.mirror.site = http://ftp.yz.yamagata-u.ac.jp/pub/network/apache
#apache.mirror.site = http://ftp.tsukuba.wide.ad.jp/software/apache
#apache.mirror.site = http://ftp.meisei-u.ac.jp/mirror/apache/dist

# コミットしないように .gitignore や svn:ignore に追加する
target.dir = target

ivy.version = 2.4.0
ivy.dir     = ${target.dir}/vendor/ivy
ivy.lib.dir = ${ivy.dir}/${ivy.version}
ivy.url     = ${apache.mirror.site}/ant/ivy/${ivy.version}/apache-ivy-${ivy.version}-bin.zip
    <target name="-ivy" depends="-ivy.jar">
      <taskdef resource="org/apache/ivy/ant/antlib.xml"
               uri="antlib:org.apache.ivy.ant">
        <classpath>
          <fileset dir="${ivy.lib.dir}">
            <include name="*.jar" />
          </fileset>
        </classpath>
      </taskdef>
    </target>

    <target name="-ivy.jar"
            depends="-downloaded.ivy.jar"
            unless="downloaded.ivy.jar">
      <!-- 旧バージョンを削除し、指定したバージョンのivy.jarをダウンロードする -->
      <delete dir="${ivy.dir}" />
      <mkdir  dir="${ivy.lib.dir}" />

      <get src="${ivy.url}"
           dest="${target.dir}/ivy.zip" />
      <unzip src="${target.dir}/ivy.zip"
             dest="${ivy.lib.dir}">
        <patternset>
          <include name="*/*.jar" />
        </patternset>
        <mapper type="flatten" />
      </unzip>

      <delete file="${target.dir}/ivy.zip" />
    </target>

    <target name="-downloaded.ivy.jar">
      <!-- 指定したバージョンの ivy.jar をダウンロード済みか判定する -->
      <available property="downloaded.ivy.jar"
                 file="${ivy.lib.dir}/ivy-${ivy.version}.jar" />
    </target>

只需使用属性depends等在下一步中执行“-ivy”目标。

    <target name="-main.classes"
            depends="-ivy">
        <mkdir dir="${main.classes.dir}" />
        <ivy:cachepath pathid="main.classpath" conf="runtime"/>
        <javac destdir="${main.classes.dir}" includeantruntime="false"
               encoding="UTF-8"
               debug="true" debuglevel="source,lines">
            <classpath refid="main.classpath" />
            <src path="${main.java.dir}" />
        </javac>
    </target>
广告
将在 10 秒后关闭
bannerAds