使用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 ...
随机推荐
- SQL执行过程中的性能负载点
一.SQL执行过程 1.用户连接数据库,执行SQL语句: 2.先在内存进行内存读,找到了所需数据就直接交给用户工作空间: 3.内存读失败,也就说在内存中没找到支持SQL所需数据,就进行物理读,也就是到 ...
- [UWP]浅谈按钮设计
一时兴起想谈谈UWP按钮的设计. 按钮是UI中最重要的元素之一,可能也是用得最多的交互元素.好的按钮设计可以有效提高用户体验,构造让人眼前一亮的UI.而且按钮通常不会影响布局,小小的按钮无论怎么改也不 ...
- Chrome浏览器扩展开发系列之九:Chrome浏览器的chrome.alarms.* API
Chrome浏览器扩展程序通过chrome.alarms.* API,可以制定计划周期性地执行代码,或在指定时间执行代码. 要使用chrome.alarms.* API,首先需要在manifest.j ...
- 关于shiro权限管理的一些总结
项目中最近开发用到了shiro,shiro作为一款轻量级的权限管理框架,在项目中主要想管理用户的登陆之后的页面访问,按钮,数据的显示.主要借用了shiro自己的页面权限标签. 当用户登录时->先 ...
- c++ 类的定义和使用
在 c++ 中 类的定义为 class 类名 { };切记,类的定义完成后要加上分号,这是很多初学者容易犯的错误. 类的成员及函数 分为 public private protect 三类,大家学过 ...
- JavaScript创建对象的方法
显示在浏览器中的控制台中. <script type="text/javascript"> //这个工厂方法返回一个新的"范围对象" functio ...
- Redis基本数据结构总结之SET、ZSET和HASH
Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...
- Linux下搭建FTP服务器(Ubuntu16.04)
搞了下FTP服务器,基本上能遇到的问题都遇到了-.-! 先说步骤: 1.安装vsftpd软件包 sudo apt-get install vsftpd 2.打开配置文件 vim /etc/vsftpd ...
- Swift语法初见
Swift语法初见 http://c.biancheng.net/cpp/html/2424.html 类型的声明: let implicitInteger = 70 let implicitDoub ...
- 51nod_1417:天堂里的游戏
题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1417 假设 ans=n/m,C=(A+B)/2 若出正面 ...