ivy的中文资料很少,英文不过关又想做jar依赖的,还是乖乖maven。
项目右键->ivy files创建
ivy.xml
<?xml version="1.0" encoding="utf-8"?>
<ivy-module version="2.0">
<info organisation="antivy_test" module="antivy_test"/>
<configurations>
</configurations>
<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="2.0" /> <!-- conf="default->master" ,不会下载doc和sources的jar-->
<dependency org="commons-cli" name="commons-cli" rev="1.0"/>
<dependency org="org.apache.commons" name="commons-collections4" rev="4.0"/>
</dependencies>
</ivy-module>
项目右键-》export-》ant builderfiles创建
build.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="antivy_test" default="warFile" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- ====== target: resolve ========== -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve pattern="${ivy.lib.dir}/[artifact]-[type]-[revision].[ext]"/>
</target>
<!-- 定义属性,打成war包的名称。 -->
<property name="warFileName" value="antivy_test.war">
</property>
<property name="ivy.lib.dir" value="${basedir}/WebRoot/WEB-INF/lib">
</property>
<property name="ivy.build.dir" value="${basedir}/WebRoot/WEB-INF/classes">
</property>
<!-- 定义路径,编译java文件时用到的jar包。 -->
<path id="project.lib">
<fileset dir="${basedir}/WebRoot/WEB-INF/lib">
<include name="**/*.jar" />
</fileset>
</path>
<!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->
<target name="clean">
<delete dir="${basedir}/WebRoot/WEB-INF/classes" />
<mkdir dir="${basedir}/WebRoot/WEB-INF/classes" />
</target>
<!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->
<target name="compile" depends="clean">
<javac srcdir="${basedir}/src" destdir="${basedir}/WebRoot/WEB-INF/classes" includeantruntime="false">
<classpath refid="project.lib">
</classpath>
</javac>
<copy todir="${basedir}/WebRoot/WEB-INF/classes">
<fileset dir="${basedir}/src">
<include name="**/*.properties" />
</fileset>
</copy>
</target>
<!-- 定义默认任务,将class文件集合成jar包。 -->
<target name="warFile" depends="resolve,compile">
<!-- 删除原有war包。 -->
<delete dir="${basedir}/war/${warFileName}" />
<!-- 建立新war包。 -->
<war destfile="${basedir}/war/${warFileName}" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
<!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->
<fileset dir="${basedir}/WebRoot">
<include name="**/**.*" />
<exclude name="**/*.jar" />
<exclude name="**/*.class" />
</fileset>
<!-- 将jar和class文件拷贝到war包的对应路径下。 -->
<lib dir="${basedir}/WebRoot/WEB-INF/lib" />
<classes dir="${basedir}/WebRoot/WEB-INF/classes" />
</war>
</target>
<target name="clearIvyCache" description="description">
<ivy:cleancache/>
</target>
</project>
build.xml右键,run as-》ant build ,可能出现编码错误,在windows->preferences->worksapces->test file encoding设置utf-8