2 wangcheng1983913 wangcheng1983913 于 2014.10.18 10:36 提问

通过程序排查java类中多余import

有没有办法通过java程序来实现找到java程序中引用的无用包
就是Eclipse里会自动用警告提示的那个import

虽然用Eclipse自带的功能键就能去掉
但是这次主要是想学习一下,Eclipse是怎么找到这种多余的import的
希望各位高手不吝赐教

1个回答

franzhong
franzhong   2014.10.19 14:29

你想找很困难,这要识别下面内容所调函数是否在对应包中,Eclipse几百M的东西,都有代码高亮了,当然能知道这些事,你每更新一次界面他都要去查这些事情,需要有个大量映射才能快速的查出冗余数据。在包含一个方法函数时候,经常会有冲突,会让你手动添加,因为他也不知道多选时候的选项;另附原因:
1:Eclipse也有失误的时候;
2:如果人家注释掉了东西暂时不用,就不应该把包删掉;
3:冗余效率的问题你不用考虑太多,编译时会预处理;

这不是个轻量级的任务,你了解原理即可

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
eclipse批量去除多余引用的类或更正引用类的方法
1、去除某个Java类中的多余引用或更正引用       使用快捷键:Ctrl+Shift+O,Mac使用:Command+Shift+O 2、去除整个包中的多余引用或更正引用       在Java类所在的父级包名下右键:选择Source,选择Organize imports,OK即可。 3、更改Java类的包名       通常我们会有把其他项目里面的公共类复制到新项
使用idea一次性清理所有java文件中多余导入未使用的包
使用idea一次性清理所有java文件中多余导入未使用的包,首先ctrl+alt+s打开设置界面,红框中的位置打勾 点击ok后关闭,然后ctrl + alt + o弹出如下窗口: 红框中的意思为某目录下所有文件,选中后run即可
myeclipse一键删除Java类中亮黄色灯的import
在开发中,可能经常遇到import一些包后由于某些原因又不需要了,如果很多的话一个一个删除有特别麻烦,怎么一键删除这些引入又没有使用的包呢
删除.java文件中所有未用到的引用的包的菜单命令或快捷键是什么?
删除.java文件中所有未用到的引用的包的菜单命令或快捷键是什么? H5 App 开发用 WeX5,体验极速秒开! »     比如这几句,程序中没用到,如何一键删除它们? 谢谢! haoamz 发帖于 4年前 5回/3806阅 标签: MyEclipse Java 举报 | 分
Netbeans 从已排除项导入 import
问题:import 出现黄色叹号,如下提示: 解决: netbeans==>选项==>代码完成  语言选择java 将排除框内容删除即可。
IDEA 自动删除类中无用的import包
1.手动快捷键 Ctrl + Alt + O 2.配置自动清理 Ctrl + Alt + S 打开设置 然后,进行如下操作: IDEA会自动清理无引用的包。
eclipse如何设置自动去除多余引入的类?
eclipse如何设置自动去除多余引入的类? 转自:http://blog.csdn.net/cjq000/article/details/7936264 http://www.coderli.com/archives/translate-organize-imports-eclipse/ 第一种:移除某个类中的 在Java类中按键Ctrl+Shift+O
java OOM问题排查
在做服务器端开发的时候,经常会遇到服务由于内存溢出挂掉的情况,这种情况的发生一般来说是很难预期的,也比较难以重现,对于这种问题,一般可以通过记录内存溢出时候的堆信息来排查。   1、首先可以查看服务器运行日志以及项目记录的日志,捕捉到内存溢出异常。   2、如果程序挂掉了,但是没有找到任何这个操作的日志记录。这时查看一下/var/log/messages文件。messages 日志是核心系
Import原理,避免误区
import在java中是非常普遍的关键字,只要是会java基础的人肯定会用,但如果不了解他的其原理,很容易会进入理解的误区。
在命令行环境Java程序调用导入的jar包中的类
当把一个程序编译得到的class文件打成jar包,我们要如何在别的程序中调用这个jar包中的类呢? 例如下面这个类: package util; public class MyClass{ public static void myPrint(){ System.out.println("myclass"); } }首先来到D:\文件路径下,使用命令行编译生成clas