1. 程式人生 > >Apache Ant Ivy Quick Start(快速入門)

Apache Ant Ivy Quick Start(快速入門)

Ivy是一個免費基於Java的依賴管理器。它提供了一些強大的功能包括依賴傳遞,ant整合, maven儲存庫相容,持續整合,html報告等

下載好後安裝它,把它解壓到f:/ivy-2.0.0(把此目錄認為是IVY_HOME),把IVY_HOME/ivy-2.0.0.jar放到ANT_HOME/lib目錄下。然後命令列入到IVY_HOME/src/example/hello-ivy目錄,執行ant。然後它會下載依賴的所有jar包。

看下hello-ivy的依賴配置:

  1. <ivy-moduleversion="2.0">
  2. <infoorganisation="org.apache"module="hello-ivy"
    />
  3. <dependencies>
  4. <dependencyorg="commons-lang"name="commons-lang"rev="2.0"/>
  5. <dependencyorg="commons-cli"name="commons-cli"rev="1.0"/>
  6. </dependencies>
  7. </ivy-module>
<ivy-module version="2.0">
    <info organisation="org.apache" module="hello-ivy"/>
    <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="2.0"/>
        <dependency org="commons-cli" name="commons-cli" rev="1.0"/>
    </dependencies>
</ivy-module>

依賴commons-lang-2.0.jar 和 commons-cli-1.0.jar,ivy會自動下載,當然還有這些*.jar所依賴的jar, 如這裡的commons-cli-1.0.jar依賴commons-logging-1.0.jar,不用在ivy.xml檔案定義。它們已經在lib目錄下了。

然後你再一次執行ant,ivy不會再下載這些jar,因為本地有快取了。

當然也可以用ant report任務,輸出jar依賴報告,預設在build目錄,org.apache-hello-ivy-default.html。

延伸:預設快取目錄為${user.home}/cache。你也可以改它的預設目錄在執行ant時,設定,如ivy.default.ivy.user.dir=f:/ivy2,所以它會快取到f:/ivy2/cache。

ant -Divy.default.ivy.user.dir=f:/ivy2