使用ant插件打包生成jar文件
1.环境
新版Eclipse中已经集成了Ant插件,在Preferences中可以看到。(2017版)
旧版本的Eclipse如果没有集成Ant插件,安装配置方法在文档最后。

2.使用教程
(1)新建一个项目
(2)在项目根目录下建立build.xml文件
在该XML文件中配置Ant打包的相关属性,这里给出一个示例
<project default="jar" name="use">
<property name="src.dir1" value="src/package1" />
<property name="src.dir2" value="src/package2" />
<property name="src.dir3" value="src/package3" />
<property name="classes.dir" value="bin" />
<property name="output.dir" value="out" />
<property name="jarname" value="Test.jar" />
<!-- 1. 初始化工作,如创建目录等 -->
<target name="init">
<mkdir dir="${classes.dir}" />
<mkdir dir="${output.dir}" />
</target>
<!-- 2. 编译 -->
<target name="compile" depends="init">
<javac srcdir="${src.dir1}" destdir="${classes.dir}"
includeantruntime="on">
<compilerarg line="-encoding UTF-8" />
</javac>
<javac srcdir="${src.dir2}" destdir="${classes.dir}"
includeantruntime="on">
<compilerarg line="-encoding UTF-8" />
</javac>
</target>
<!-- 3. 打包jar文件 -->
<target name="jar" depends="compile">
<!-- jar文件的输出路径 -->
<jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">
<manifest>
<attribute name="Class-Path" value="${mf.classpath}" />
</manifest>
</jar>
</target>
</project>
(3) 右键项目选择属性Properties -> Builder -> Ant Builder(将Java builder勾选去掉)
添加文件路径,将build.xml文件路径以及项目路径添加进去,apply即可

(4)右键 build.xml文件,选择run as -> Ant build 即可,生成的jar包在你定义的路径下。
*备注:
旧版本的Eclipse中如果没有集成ant插件,就手动安装Ant,解压后配置环境变量即可。
ANT_HOME:D:\java\apache-ant-1.10.1
PATH: ;%ANT_HOME%\bin
JDK 1.8版本的可以使用ant -1.10版本
JDK1.5版本及以上使用 ant - 1.9版本
测试:
进入cmd命令窗口,在CMD窗口中输入ant -version,回车,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了。
(1)错误情况:

这是由于JDK版本不一致导致的问题。
ant-1.10版本需要java8以及以上的版本

参考:http://ant.apache.org/bindownload.cgi
(2)正确情况

使用ant插件打包生成jar文件的更多相关文章
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- 使用ant自动编译、打包生成apk文件
上次使用命令行生成apk文件<Android 命令行编译.打包生成apk文件>,学习命令行生成的目的是为了编写ant打下基础. 一. ant环境 下载ant包,配置环境变量 二.ant编译 ...
- Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式
from://http://blog.csdn.net/androiddevelop/article/details/11100109 相关文章列表: <Android 自动编译.打包生成apk ...
- Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...
- Android 自动编译、打包生成apk文件 4 - 多渠道批量打包
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...
- 有引用外部jar包时(J2SE)生成jar文件
一.工程没有引用外部jar包时(J2SE) 选中工程---->右键,Export...--->Java--->选择JAR file--->next-->选择jar fil ...
- 将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...
- Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFES ...
随机推荐
- Watson Conversation Service Implementation Methodology
Watson Conversation Service Implementation Methodology In order to implement the WCS successfully. Y ...
- 【Python3之pymysql模块】
一.什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 ...
- Javassist进行方法插桩
javassist官网 http://jboss-javassist.github.io/javassist/ javassist API网 http://jboss-javassist.github ...
- shiro整合oauth
一.基本思路脑图 二.客户端shiro配置 shiro配置文件 <?xml version="1.0" encoding="UTF-8"?> < ...
- css 子div自适应父div高度
<div class="out"> <div class="a"></div> <div class="b& ...
- Html table 合并单元格
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java之异常处理,日期处理
Java异常处理 异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象.其实就是Java对不正常情况进行描 ...
- 【Spring】关于SpringMvc监听的知识点
一,在使用Spring系列框架时,我们需要在Web.xml配置Spring的监听:ContextLoaderListener ContextLoaderListener的作用就是,在Web容器初始化时 ...
- (转)Sublime Text中文乱码问题
Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦.不过Sublime Package Control所以供的插件可以让Subli ...
- CSS样式----盒子模型(图文详解)
盒子模型 盒子中的区域 一个盒子中主要的属性就5个:width.height.padding.border.margin.如下: width:内容的宽度.CSS中 width 指的是内容的宽度,而不是 ...