Ant에서 타사 jar 패키지 종속성을 추가하는 방법

ant를 사용하여 Java 프로젝트를 컴파일하고 배포하는 경우 타사 jar 패키지에 대한 종속성을 어떻게 추가합니까? 방법은 다음과 같습니다.
1. 프로젝트의 루트 디렉토리에 lib 디렉토리를 만들고 필요한 모든 타사 jar 패키지를이 디렉토리에 넣습니다.
2. build.xml에서 경로, 속성을 추가하고 javac에서 classpath 및 unjar를 추가합니다. 전체 구성은 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<project name="MyTool" default="build" basedir=".">
  <description>The ant project to build MyTool.</description>
  <property name="srcDir" location="src" description="源文件的存放目录" />
  <property name="libDir" location="lib" description="第三方jar包的存放目录" />
  <property name="antDir" location="ant" description="编译后所有文件存放的根目录" />
  <property name="binDir" location="${antDir}/bin" description="编译后class文件的存放目录" />
  <property name="jarDir" location="${antDir}/jar" description="打包后jar包的存放目录" />
  <property name="jarFile" location="${jarDir}/MyTool.jar" description="打包后jar包存放的完整路径" />
  <property name="package" value="com.xiboliya.mytool" description="包名" />
  <property name="mainClass" value="MyTool" description="主类名" />
  <property name="resFromDir" location="res" description="资源文件的源目录" />
  <property name="resToDir" location="${binDir}/res" description="资源文件的目标目录" />
  <path id="libPath" description="编译时依赖的第三方jar包的存放路径">
    <fileset dir="${libDir}" erroronmissingdir="false">
      <include name="*.jar" />
    </fileset>
  </path>
  <property name="classpath" refid="libPath" description="编译时依赖的第三方jar包的存放路径" />
  <target name="init" description="初始化">
    <delete dir="${binDir}" />
    <delete dir="${jarDir}" />
    <mkdir dir="${binDir}" />
    <mkdir dir="${jarDir}" />
    <copy todir="${resToDir}" description="复制资源文件">
      <fileset dir="${resFromDir}" />
    </copy>
  </target>
  <target name="compile" depends="init" description="编译代码">
    <javac srcdir="${srcDir}" destdir="${binDir}" classpath="${classpath}" includeAntRuntime="false">
      <compilerarg value="-Xlint:unchecked"/>
      <compilerarg value="-Xlint:deprecation"/>
    </javac>
  </target>
  <target name="unjarLib" depends="init" description="解压第三方jar包,以便于重新打包入程序jar包中">
    <unjar dest="${binDir}">
      <fileset dir="${libDir}">
        <include name="**/*.jar" />
      </fileset>
      <patternset>
        <exclude name="META-INF"/>
        <exclude name="META-INF/MANIFEST.MF"/>
      </patternset>
    </unjar>
  </target>
  <target name="makeJar" depends="init,compile,unjarLib" description="生成jar包">
    <jar destfile="${jarFile}" basedir="${binDir}" excludes="**/Thumbs.db" description="打包为jar文件,并排除Thumbs.db文件">
      <manifest>
        <attribute name="Main-Class" value="${package}.${mainClass}" />
      </manifest>
    </jar>
  </target>
  <target name="build" depends="init,compile,makeJar" description="编译并打包">
    <echo message="Ant is building the project." />
  </target>
</project>

 

추천

출처blog.csdn.net/chenzhengfeng/article/details/104740490