Java:Ant打包jar文件(有lib目录)
来源:互联网 发布:php开发培训班 编辑:程序博客网 时间:2024/06/12 23:49
使用Ant打包Jar文件
主要是lib/*.jar的路径需要注意: jar包里的jar包是不能被识别为classpath
使用方法:如果代码是如下面的目录结构组织的,不需要修改什么,直接在终端运行ant命令即可在out目录输出对应的jar文件。<?xml version="1.0" ?>
<?xml version="1.0" encoding="utf-8"?>
<project default="jar" name="Acid">
<!-- 工程目录结构
project
|-bin
|-src
|-lib
|-out
|-build.xml
-->
<property name="lib.dir" value="lib"/>
<property name="src.dir" value="src"/>
<property name="classes.dir" value="bin"/>
<property name="output.dir" value="out"/>
<property name="jarname" value="Test.jar"/>
<property name="mainclass" value="com.biao.Test"/>
<!-- 第三方jar包的路径 -->
<path id="lib-classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- 1. 初始化工作,如创建目录等 -->
<target name="init">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${output.dir}"/>
</target>
<!-- 2. 编译 -->
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${classes.dir}">
<compilerarg line="-encoding UTF-8"/>
<classpath refid="lib-classpath"/>
</javac>
</target>
<!-- 3. 打包jar文件 -->
<target name="jar" depends="compile">
<copy todir="${output.dir}/lib">
<fileset dir="${lib.dir}"/>
</copy>
<!--Create a property containing all .jar files,
prefix lib/, and seperated with a space-->
<pathconvert property="mf.classpath" pathsep=" ">
<mapper>
<chainedmapper>
<!-- jar包文件只留文件名,去掉目录信息 -->
<flattenmapper/>
<!-- add lib/ prefix -->
<globmapper from="*" to="lib/*"/>
</chainedmapper>
</mapper>
<path refid="lib-classpath"/>
</pathconvert>
<!-- jar文件的输出路径 -->
<jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">
<manifest>
<attribute name="Main-class" value="${mainclass}"/>
<attribute name="Class-Path" value="${mf.classpath}"/>
</manifest>
</jar>
</target>
</project>
<!-- 工程目录结构
project
|-bin
|-src
|-lib
|-out
|-build.xml
-->
<property name="lib.dir" value="lib"/>
<property name="src.dir" value="src"/>
<property name="classes.dir" value="bin"/>
<property name="output.dir" value="out"/>
<property name="jarname" value="Test.jar"/>
<property name="mainclass" value="com.biao.Test"/>
<!-- 第三方jar包的路径 -->
<path id="lib-classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- 1. 初始化工作,如创建目录等 -->
<target name="init">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${output.dir}"/>
</target>
<!-- 2. 编译 -->
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${classes.dir}">
<compilerarg line="-encoding UTF-8"/>
<classpath refid="lib-classpath"/>
</javac>
</target>
<!-- 3. 打包jar文件 -->
<target name="jar" depends="compile">
<copy todir="${output.dir}/lib">
<fileset dir="${lib.dir}"/>
</copy>
<!--Create a property containing all .jar files,
prefix lib/, and seperated with a space-->
<pathconvert property="mf.classpath" pathsep=" ">
<mapper>
<chainedmapper>
<!-- jar包文件只留文件名,去掉目录信息 -->
<flattenmapper/>
<!-- add lib/ prefix -->
<globmapper from="*" to="lib/*"/>
</chainedmapper>
</mapper>
<path refid="lib-classpath"/>
</pathconvert>
<!-- jar文件的输出路径 -->
<jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">
<manifest>
<attribute name="Main-class" value="${mainclass}"/>
<attribute name="Class-Path" value="${mf.classpath}"/>
</manifest>
</jar>
</target>
</project>
0 0
- Java:Ant打包jar文件(有lib目录)
- 用Ant 打包java工程为jar文件
- 将不在pom文件中的jar包打包WEB-INF/lib目录下
- java 打包jar文件
- Java打包JAR文件
- jar 打包java文件
- ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件
- (ant入门)用Ant生成Jar文件时在manifest中加入打包时间
- 打包时lib目录下无jar依赖包
- 用ant打包可运行的jar文件 (将第三方jar包放进你自己的jar包)
- 用ant打包可运行的jar文件 (将第三方jar包放进你自己的jar包)
- 用ant打包可运行的jar文件 (将第三方jar包放进你自己的jar包)
- 得到.java文件的.class文件、将目录打包成jar文件
- java 打包jar文件实战
- java打包成jar文件
- JAVA jar文件打包详解
- JAVA文件打包成.jar
- 【ant项目构建学习点滴】--(3)打包及运行jar文件
- Android
- 【操作系统-Windows】cookies 及flash cookies清理
- 配置个人重定向是否成功的循环
- could not initialize proxy - no Session 经典异常,详解
- HttpWatch工具简介及使用技巧(转载)
- Java:Ant打包jar文件(有lib目录)
- jQuery筛选器children()详解
- Codeforces Round #FF (Div. 2)
- 规范模型中存在的问题
- listview下拉刷新
- [开源夏令营][二] Docker 环境搭建
- fscanf函数
- poj 1845 约数和问题
- MAC - 命令行中用sublime打开指定文件,使用ln命令建立软链接