<?xml version="1.0"?>
<project name="hello-ivy" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="ant.dir" value="E:/Program Files/apache-ant-1.8.3" />
<property name="build.debug" value="on" />
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="dist.dir" value="dist" />
<property name="publish.version" value="1.0" />
<property name="classes.dir" value="${build.dir}/classes" />
<!-- 设置工作目录 ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.default.ivy.user.dir
2. 如果没有找到,查找变量ivy.home
3. 如果还没有找到,查找变量user.home Ivy 使用cache目录来存放缓存文件,ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.cache.dir
2. 如果没有找到,使用ivy.default.ivy.user.dir/cache 项目通用: 设置环境变量env.ivy.default.ivy.user.dir=G:\soft\ivy\userdir
build.xml中这样引用: <property environment="env"/>
<property name="ivy.default.ivy.user.dir" value="${env.ivy.default.ivy.user.dir}" />
-->
<!--设置ivy工作路径 -->
<property name="ivy.default.ivy.user.dir" value="${ant.dir}/repository" />
<path id="lib.path">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path">
<path refid="lib.path" />
<path location="${classes.dir}" />
</path>
<!-- 初始化ivy配置文件 -->
<ivy:settings file="ivysettings.xml" />
<target name="clean">
<delete includeemptydirs="true">
<fileset dir="${build.dir}" />
<fileset dir="${dist.dir}" />
</delete>
</target>
<target name="clean-cache">
<ivy:cleancache />
</target>
<target name="init">
<echo>initing...</echo>
<mkdir dir="${build.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${dist.dir}" />
</target>
<!-- 通过ivy下载依赖 ,默认ivy文件名为ivy.xml -->
<target name="resolve" depends="init">
<ivy:resolve file="ivy.xml" />
<!-- 先解析ivy,从maven仓库下载依赖到缓存(默认在你的user home下的.ivy2/cache 目录),最后复制到项目默认的lib目录 -->
<ivy:retrieve pattern="${lib.dir}/[artifact](-[revision]).[ext]" />
</target>
<!--生成所有依赖的详细报告 ,默认build目录中的生成文件 -->
<target name="report" depends="resolve">
<ivy:report todir="${build.dir}" />
</target>
<target name="compile" depends="resolve">
<javac encoding="utf-8" debug="${build.debug}" srcdir="${src.dir}"
classpathref="lib.path" destdir="${classes.dir}" />
<native2ascii src="${src.dir}" dest="${classes.dir}"
includes="*.properties" encoding="UTF-8" />
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.properties" />
</fileset>
</copy>
</target>
<target name="jar" depends="compile">
<tstamp>
<format property="jar.time" pattern="MM/dd/yyyy hh:mm aa" locale="en" />
</tstamp>
<buildnumber />
<jar destfile="${dist.dir}/${ant.project.name}.jar">
<manifest>
<attribute name="Build-Version" value="${publish.version}" />
<attribute name="Build-On" value="${jar.time}" />
<attribute name="Build-By" value="${user.name}" />
<attribute name="Build-Number" value="${build.number}" />
</manifest>
<!-- Jar should not include xml and property files -->
<fileset dir="${classes.dir}">
<exclude name="**/*.xml" />
<exclude name="**/*.properties" />
</fileset>
</jar>
</target>
<!--
<target name="run" depends="compile">
<property name="msg" value="hello ivy !" />
<java classpathref="run.path" classname="example.Hello">
<arg value="-message" />
<arg value="${msg}" />
</java>
</target>
-->
<!-- 和nexus集成
1. ivysettings.xml 将原有的 <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
修改为 <include url="./ivysettings-public.xml"/>
2. 在ivysettings.xml相同目录下放置ivysettings-public.xml文件
实际从ivy.jar包中copy出对应文件,然后修改
<ibiblio name="public" m2compatible="true" root="http://192.168.0.30:8081/nexus/content/groups/public/"/>
注意这里的name="public"不能改,否则会报错。
-->
</project>
分享到:
相关推荐
6. **build.properties**或**build.gradle**:可能存在的其他构建配置文件,例如Gradle的构建脚本,这取决于项目是否同时使用了Gradle。 7. **README**或**README.md**:通常会提供项目介绍、如何构建和运行的指南...
SBT (Scala Build Tool) 是一个强大的构建管理系统,主要用于 Scala 和 Java 项目。它通过自动化构建过程,简化了项目的管理,使得开发者可以更专注于代码编写而不是构建和依赖管理。Ivy2 是 SBT 使用的一个依赖管理...
SBT(Scala Build Tool)是Scala编程语言的主要构建工具,它极大地简化了Scala项目构建、管理和依赖管理的过程。SBT利用Ivy库进行依赖管理,Ivy2是Apache Ivy的一个版本,它是一个强大的依赖管理系统,广泛用于Java...
"ANT_build基本格式"这个主题主要围绕着Ant的核心构建文件`build.xml`来展开,下面我们将深入探讨Ant的基本结构、任务、属性以及如何使用`build.xml`进行项目构建。 1. **Ant简介** Apache Ant是一个基于Java的...
一旦Ant安装完毕,就可以在Ant的构建文件(build.xml)中引入Ivy,通过以下方式声明Ivy任务: ```xml <project name="your_project"> <typedef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache....
压缩包中的“build2.xml”和“build1.xml”是Ant的构建文件。这些文件定义了构建项目的步骤、目标和任务。例如,`<project>`元素是构建文件的根元素,而`<target>`元素定义了具体的构建任务。每个任务由一系列`...
2. **构建脚本**:通常会有一个 `build.xml` 文件,这是Ant的构建脚本,用于编译、测试和打包Ivy项目。通过分析这个文件,我们可以了解如何使用Ant构建Ivy这样的项目。 3. **文档**:虽然这里可能没有完整的用户...
- **build.xml**:这是 Ant 构建脚本,通常会包含调用 Ivy 解析依赖和执行构建任务的指令。 - **build.properties**:可能包含 Ant 构建过程中的属性,例如仓库路径、版本号等。 - **src** 和 **resources** 目录...
Ant的核心是一个基于XML的构建文件,称为build.xml,它定义了构建过程中的任务和目标。XML文件中的元素描述了如何编译源代码、打包、测试和部署应用。每个项目都可以有自己的build.xml,使得构建过程可定制且易于...
Ant主要通过XML格式的构建文件(build.xml)来定义构建任务。这个文件描述了项目的所有组件以及如何将这些组件组合在一起。以下是一些关于Ant自动构建的关键知识点: 1. **构建文件**:Ant的核心是build.xml,它...
Apache Ant,作为一款基于XML的构建工具,它的主要任务是读取名为build.xml的配置文件,根据其中的指令执行构建过程,如编译源代码、打包、测试等。Ant的强大在于其灵活性,开发者可以根据需求自定义构建过程,使得...
它通过XML定义的构建文件来描述构建步骤,使得开发者可以自动化编译、打包、测试等任务。 在描述中提到的“NULL”可能是指在尝试解决这个问题时,遇到了空指针异常(NullPointerException)或者是某个预期的对象或...
`build.xml`是Ant的构建脚本,其中包含了构建过程的指令,例如编译源代码、运行测试、打包JAR或WAR文件等任务。 2. Ivy: Ivy是Apache Ant的一个扩展,专门用于解决项目依赖管理的问题。在Java世界里,Maven是另一...
Ant的配置文件通常命名为`build.xml`,其中包含了构建过程的详细步骤和依赖关系。下面我们将深入探讨Ant的关键特性、工作原理以及如何使用它来管理Java项目。 1. **XML配置**:Ant使用XML格式来定义构建脚本,使得...
Ant以其XML格式的构建文件(通常称为build.xml)而闻名,它允许开发者定义任务序列来执行特定的构建步骤。这篇博客“ant 脚本编写”可能探讨了如何有效地利用Ant来编写和管理构建脚本。 首先,让我们了解一下Ant的...
8. **命令行界面**:Gradle提供了一个强大的命令行接口,可以执行各种构建操作,如`gradle build`、`gradle test`等。 通过阅读"说明.txt"文件,我们应能找到更详细的指导,了解如何运行和分析这些示例,以及它们是...
1. **sbt**: Simple Build Tool 是 Scala 项目的主要构建工具,它允许开发者以声明式方式定义项目依赖、任务和构建过程。sbt 使用 Ivy 库管理这些依赖,Ivy 是 Apache 提供的一个通用的依赖管理和构建工具。 2. **...
它的设计目标是简化项目的构建和管理,通过XML格式的构建文件(build.xml)来描述构建过程。这些文件包含了构建步骤、依赖关系和目标,使得构建过程可配置且易于维护。 2. **Ant构建文件(build.xml)** 在Ant中,...
通过XML格式的构建文件(build.xml),开发者可以清晰地定义项目构建的各个步骤。Ant使用任务(Tasks)来执行特定的操作,如编译源代码、打包JAR文件、运行测试等。 二、Ant安装与部署 1. 下载:首先,你需要从...