https://blog.csdn.net/gzl003csdn/article/details/53539133

多个jar包合并成一个jar 使用Apache的Ant是一个基于Java的生成工具。这个工具的全名是another neat tool    可以到官网下载 apache-ant-1.9.7-bin.zip

下载好了之后接下来就是 解压   配置环境   使用

安装和配置

计算机>>>右键>>>属性>>>高级系统配置>>> 环境变量>>>

编辑系统变量

然后修改系统变量的path的值

然后一路确定回去  接下来就是测试一下是否配置成功!

Window + R 然后输入cmd  回车 >>> 在命令框中输入ant 如果提示如下就表示你已经成功的安装了

C:\Users\user>ant
Buildfile: build.xml does not exist!
Build failed

如图

OK >>>>>>>接下来开始使用

注意:ant默认运行build.xml文件,这个文件到目前为止是不存在的 需要我们创建。
如果不想命名为build.xml,运行时可以使用 ant -buildfile test.xml 命令指明要运行的构建文件。

注意:把你需要合并的jar包 和 build.xml 文件 放到同一个目录下面

build.xml 文件的格式如下

<?xml version="1.0" encoding="utf-8"?>
<project
name="lzg_dlna"
basedir="D:\Android\android_tool\ant_test"
default="makeSuperJar" >

<target
name="makeSuperJar"
description="description" >

<jar destfile="lzg_dlna.jar" >
<zipfileset src="cdi-api.jar" />
<zipfileset src="http-2.2.1.jar" />
<zipfileset src="httpclient-4.2.2.jar"/>
<zipfileset src="httpcore-4.2.3.jar" />
<zipfileset src="javax.annotation_1.0.jar" />
<zipfileset src="javax.inject.jar" />
<zipfileset src="javax.servlet-3.0.0.v201103241009.jar" />
<zipfileset src="jetty-client-8.1.9.v20130131.jar" />
<zipfileset src="jetty-continuation-8.1.9.v20130131.jar" />
<zipfileset src="jetty-http-8.1.9.v20130131.jar" />
<zipfileset src="jetty-io-8.1.9.v20130131.jar" />
<zipfileset src="jetty-security-8.1.9.v20130131.jar" />
<zipfileset src="jetty-server-8.1.9.v20130131.jar" />
<zipfileset src="jetty-servlet-8.1.9.v20130131.jar" />
<zipfileset src="jetty-util-8.1.9.v20130131.jar" />
<zipfileset src="seamless-http-1.0-alpha2.jar" />
<zipfileset src="seamless-util-1.0-alpha2.jar" />
<zipfileset src="seamless-xml-1.0-alpha2.jar" />
<zipfileset src="slf4j-api-1.6.1.jar" />
<zipfileset src="slf4j-jdk14-1.6.1.jar" />
</jar>
</target>

</project>

name  : 表示的是你即将合成的jar包的名字 可以随便写
basedir :  表示你存放jar包的目录(D:\Android\android_tool\ant_test这个目录下放的是你当前需要合并的所有jar 和build.xml文件)

以上都转备好之后开始运行ant -buildfile命令

ant -buildfile D:\Android\android_tool\ant_test\build.xml

如下图

出现上图的时候就表示你已经合并成功了 去下面的目录找一下你的jar吧

D:\Android\android_tool\ant_test

OK 合并成功  !  该有小伙伴问了 能不能用啊 这么简单就成功了

接下开始把lzg_dlna.jar配置到项目里使用

如果你的instant run里面第一个选项是勾选的 运行会可能会报错 如果报错的话直接取消勾选

一般如果你的这个按钮是勾选的话运行就会报错

Error:注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
> Invalid signature file digest for Manifest main attributes

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

如果是的话直接取消勾选在次运行就OK了
合并完成了
---------------------
作者:李智光
来源:CSDN
原文:https://blog.csdn.net/gzl003csdn/article/details/53539133
版权声明:本文为博主原创文章,转载请附上博文链接!

多个jar包合并成一个jar包(ant)的更多相关文章

  1. 多个jar包合并成一个jar包的办法

    步骤: 1.将多个JAR包使用压缩软件打开,并将全包名的类拷贝到一个临时目录地下. 2.cmd命令到该临时目录下,此时会有很多.class文件,其中需要带完整包路径 3.执行 jar -cvfM te ...

  2. 将多个jar包重新打包成一个jar包

    我介绍的方法是使用java命令来操作的,所以首先的安装jdk,这个就自己搞定吧. 提取jar包 为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令 ...

  3. docker 导出多个镜像合并成一个tar

    导出单个镜像 docker save [images] > [name.tar] 倒出多个镜像合并成一个tar包 docker save [images] [images] > [name ...

  4. 【Maven jar】打包单个或多个文件,有依赖jar包的将架包一起打包成一个jar包供别的项目引用

    之前有一片文章,是打包单个java文件的.这次想要将http://www.cnblogs.com/sxdcgaq8080/p/8398780.html  打包成jar包,发现这个java文件中引用了多 ...

  5. IDEA如何把写好的java文件/项目打包成一个jar的文件

    一.命令行的方法 打开cmd,输入jar -cvf [打包后的文件名].jar [要打包的目录]. 二.IDEA的方法 写完一个java程序把它封装成一个jar的包  这样就可以在别的jar上面运行这 ...

  6. 将多个jar合并为一个jar

    有时候,我们需要将多个jar合并为一个jar,ant提供了这样的一个功能 build.xml文件如下 执行以上任务会将 当前目录下的 mysql.jar,commons-io.jar合并为一个 all ...

  7. 多个DLL合并成一个DLL

    多个DLL合并成一个DLL,把DLL合并到Exe中的解决方案 1:) 下载 http://download.microsoft.com/download/1/3/4/1347C99E-9DFB-425 ...

  8. 多个UIImage合并成一个UIImage

    多个UIImage合并成一个UIImage 创建两个UIImage UIImage *image1 = [UIImage imageNamed:@"iOSDevTip"]; UII ...

  9. C#程序(含多个Dll)合并成一个Exe

    把C#程序(含多个Dll)合并成一个Exe的超简单方法   开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一 ...

随机推荐

  1. Ubunut16.04 安装 Mahout

    近期笔者想安装mahout,看到网上教程过于陈旧,故记录之 转载请包含 http://www.cnblogs.com/lqruui/p/6037680.html 1.下载mahout   mahout ...

  2. iOS去除数组中重复的model数据

    // 去除数组中model重复 ; i < self.selectedModelArray.count; i++) { ;j < self.selectedModelArray.count ...

  3. HBase 批量删除表 disable_all drop_all

    这两命令可以匹配正则表达式,对表进行批量操作,也可以对确定名字的单表操作,在表名不存在时,也不会返回exception,只会有提示信息.\ny是为了实现自动确认,因为这两命令需要用户交互确认. 例子, ...

  4. python-Web-django-qq扫码登陆

    1.建路由 2.写qq登录的a链接 3 在控制器的loginQq的方法:拼接url,跳转到这个url: 去:https://graph.qq.com/oauth2.0/authorize?respon ...

  5. elastic全文检索框架

    什么是ElasticSearch? 1.Elasticsearch是一个基于Lucene的搜索引擎.它提供了具有HTTPWeb界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎.Elastic ...

  6. flask_sqlalchemy基本设置

    from flask import Flask from flask_sqlalchemy import SQLAlchemy #区别 sqlalchemy这是第三方模块不属于flask app = ...

  7. SpringCloud之Zuul 自定义filter

    实现过滤器很简单,只需要继承ZuulFilter,并实现ZuulFilter中的抽象方法. filterType():定义过滤器的类型,它有4种类型,分别是pre.post.routing和error ...

  8. MySQL数据类型 约束

    一.数据库CDGS. 库 增   create database 库名; 删   drop 库名; 改 alter database 库名称 修改的属性名称; 查 show databases;#查看 ...

  9. mysql 构造连续的日期

    需求,我想以 年-月-日的格式,统计自 2019-08-20日 前10天的记录数,如果该天没有任何一条记录,则给予0 原始数据->我想要的结果集数据    ==============> ...

  10. Python 列表(List)

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型. 一.列表定义 用逗号分隔不同的数据项使用方括号括起来. >>> li ...