paip.批处理清理java项目冗余jar的方法
paip.批处理清理java项目冗余jar的方法
在myeclipse中开发的java项目遇到jar包冗余情况,如何删除项目中的冗余jar包啊?项目很大jar包一百多个。
2010-09-14 14:23 shuilang52 | 分类:JAVA相关 | 浏览3074次
我的意思是项目已经基本完成了,现在我要做的是把别人开发好的项目中多余的jar除去,有206个jar,其中有很多没用到的,我想问一下如何尽快的除去冗余jar 谢谢
/////////////////////struct
收集import class >>deduli.
jars >>> jarKV(cls,jar),ddao include xxxxd jars...
zai 做个排除编程.... ok...
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
//////////////////src\com\attilax\jar\jarX.java
public static void main(String[] args) {
iniJarKV("D:\\workspace\\lib");
String dir = "D:\\workspace\\convert2atian4telbook\\src";
List<String> files = travDir.getAllFileList(dir, "java");
for (String file : files) {
List<String> classes = IncludedClasses(file);
for (String cls : classes) {
String jar = getJar(cls);
if (jar != null)
if (!MustJar.contains(jar))
MustJar.add(jar);
}
}
// AllJar=travDir.getAllFileList(strPath, extName)
AllJar.removeAll(MustJar);
List<String> CanDelJars = AllJar;
for (String f : CanDelJars) {
File oldFile = new File(f);
// 将文件移到新文件里
File fnew = new File("c:\\CanDelJars\\" + oldFile.getName());
oldFile.renameTo(fnew);
}
String s2 = listUtil.toString_jsonFmt(CanDelJars);
System.out.println(s2);
}
static List AllJar = new ArrayList();
static Set MustJar = new HashSet();
static Map javKV = new HashMap();
[
"D:\\workspace\\convert2atian4telbook\\lib\\Java_SDK_1.2.1.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\commons-fileupload-1.2.2.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\asm-3.3.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\proxool-cglib.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\httpcore-4.1.4.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\hibernate-jpa-2.0-api-1.0.1.Final.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\aspectjrt-1.7.0.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\ognl-3.0.6.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\httpclient-4.1.3.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\commons-dbcp-1.2.1.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\commons-httpclient-3.1.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\commons-logging-1.1.1.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\hibernate-c3p0-4.1.8.Final.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\jboss-logging-3.1.0.GA.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\gson-2.2.4.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\dom4j-1.6.1.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\xstream-1.3.1.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\antlr-2.7.7.jar",
"D:\\workspace\\convert2atian4telbook\\lib\\weibo4j-oauth2.jar",
参考
显示出Jar文件中的所有目录名和文件名,也显示Manifest.mf文件所有属性 - 简单就是美! - ITeye技术网站.htm
paip.批处理清理java项目冗余jar的方法的更多相关文章
- java项目打jar包的两种情况
链接地址:http://jingyan.baidu.com/article/6b97984d8a6ddc1ca2b0bfa0.html 本文介绍一下java项目打jar包时的两种情况各怎么操作 方 ...
- java 项目得到jar和classes路径
java 项目得到jar和classes路径 public static String getJarPath(Class clazz) { String path = clazz.getProtect ...
- windows下面的java项目打成jar放到XShell终端上面进行远程调试
前言: java项目打成jar放到linux上面运行,但是linux上面没有eclipse不能进行debug,所以要在windows的eclipse中进行远程调试. 需要注意的是!!!-->在e ...
- Eclipse将Java项目打成jar工具包
jar包:就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法. jar包可分为可执行jar包和jar工具包,在这里, ...
- java项目打成jar包时引用了第三方jar,此时我们该如何解决呢
Web项目做多了,反而对单纯的java项目陌生了,今天我们在开发项目的过程中,碰到一个这样的需求:需要将java项目放到linux系统上跑起来,当然这个javaSE项目是带main方法的.我们知道在I ...
- java项目打jar包
首先 在工程中,右键项目,有个export,选择JAR File,就能导出jar包. 一.java项目没有导入第三方jar包 1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export” ...
- (转)IntelliJ IDEA java项目导入jar包,打jar包
以下为转载原文:https://www.cnblogs.com/yulia/p/6824058.html 一.导入 1.java项目在没有导入该jar包之前,如图: 2.点击 File -> ...
- windows下的java项目打jar分别编写在windows与linux下运行的脚本( 本人亲测可用!)
前言: 最近公司做了一个工具,要将这个工具打包成一个可运行的程序,编写start.bat和start.sh在windows和linux下都可以运行. 在网上找了很多资料,最后终于找到一个可靠的资料,记 ...
- IntelliJ IDEA java项目导入jar包,打jar包
一.导入 1.java项目在没有导入该jar包之前,如图: 2.点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Proje ...
随机推荐
- g++与c++扩栈方法
g++: /* * Problem: * Author: SHJWUDP * Created Time: 2015/8/5 星期三 15:54:42 * File Name: tmp.cpp * St ...
- cell线条前后缩短
[cell setSeparatorInset:UIEdgeInsetsMake(0, 20, 0, 20)];
- SAP 设置周期性的后台程序,SM36,图解操作 (转)
SM36是设置SAP周期性运行的事务码 来测试一下,首先先写一个程序: 我有一个zzp_people2的数据表. DATA : INT1 TYPE I. DATA : ITAB LIKE ZZP_PE ...
- GDB的Breakpoint, Watchpoint和Catchpoint
Breakpoint : 设置断点比较直接,在某处停止 Watchpoint : 观察点,即某个变量/表达式发生变化时,停止.可扩展为变量被读/被写/被读or写时都停止 Catchpoint : 在发 ...
- ImportError: No module named setuptools 解决方案
shell中输入: wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-che ...
- 用c语言写的简单计算器
这是自己在学习C语言,凭借自己的兴趣,将课本的知识运用后整理的关于C语言计算器的代码.计算器实现的功能有:加.减.乘.除.求余.功能简单,但对于初学者的我来说能把它写出来,排除每个错误依旧是个难题.前 ...
- Python-pycharm
进入博客园的第一篇随笔,作为一个编程菜鸟,最近在学习Python,为毕设做准备.总觉得Python自带的idle不太好用,一位“大鸟”向我推荐了pycharm,于是我就抱着试试看的态度下了一个,目前感 ...
- 有关big.LITTLE,你需要知道的十件事情
来源 问题 1:该技术能够同时打开所有核心吗? 在早期的 big.LITTLE 软件模型中(集群迁移和 CPU 迁移),软件在核心之间切换,不能同时打开所有核心.在更新的软件模型“全局任务调度”中 ...
- Titanium系列--利用Titanium开发android App实战总结
1. Titanium中,通过ImageView Controller 显示图片,图片地址要放在app/assets下,然后自己建一个文件夹,把图片放在这里.如下图,然后alloy代码:<Ima ...
- 『TCP/IP详解——卷一:协议』读书笔记——04
2013-08-18 16:31:17 第2章 链路层 2.1 引言 链路层主要有三个目的: 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接受ARP应答 为RARP发送RARP请求和接 ...