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. delphi怎么一次性动态删除(释放)数个动态创建的组件?

    比如procedure TForm1.Button1Click(Sender: TObject);vari:Integer;lbl: TLabel;beginfor i:=1 to 3 dobegin ...

  2. json字符串转map、json数组演示

    公司项目用的IBM封装的json解析,此处采用阿里的fastjson进行演示,代码如下: package com.alphajuns.test; import com.alibaba.fastjson ...

  3. web容器启动加载WebApplicationContext和初始化DispatcherServlet

    原文地址:http://blog.csdn.net/zghwaicsdn/article/details/51186915 ContextLoaderListener监听器,加载ROOT WebApp ...

  4. 利用nginx做反向代理解决前端跨域问题

    最近朋友再群里提了一个问题,他们公司给他提供了一个获取数据的接口,在浏览器访问这个接口能获取到json数据,但是放在项目里使用ajax就产生了跨域问题,一般这个需要提供接口的后台方面需要做跨域处理,但 ...

  5. flutter环境配置(windows)

    参考以下链接 下载安装步骤: https://www.cnblogs.com/yangyxd/p/8809512.html 安装Flutter环境遇到Android license status un ...

  6. python 爬虫 urllib模块 url编码处理

    案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦’的页面数据) import urllib.request # 1.指定url url = 'https://www.sogou. ...

  7. P4942小凯的数字

    给定一个序列,如12345 56789 1011121314等,输出对其取余9的结果. 那么我们需要明白一个定理,一个序列对一个数的取余结果等于它各位之和取余那个数的结果.证明似乎是这样∑i=0n​a ...

  8. 检测Python程序本身是否已经在运行

    为runner.py实现一个函数,检测是否有其他的runner.py进程在正在执行? 除主要用到os模块,还用到了第三方模块psutil

  9. MySQL性能优化(三):索引

    原文:MySQL性能优化(三):索引 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbi ...

  10. 导入excel-uploadify+npoi

    总结: 导入文件时一定要给database设置栏位 虚拟表的栏位名称可以与数据库表不一致,但顺序一定要一致,因为它是按照顺序依次插入的 sheet.FirstRowNum = 0; sheet.Fir ...