javap是sun提供的对class文件进行反编译的工具

1、配置Run---external tools---external tools configurations

选择Program 新建javap运行方式

设置location、workspace等选项

如下图:

需要注意的是workspace选择和argument配置

workding directory 设置为${workspace_loc}/${project_name} ,

Arguments: 

-c -verbose -classpath ${workspace_loc}/${project_name}/bin ${java_type_name}

如果设置错误会提示cannot find xxx类的错误,或者是有关java_type_name empty的错误

arguments要加上java_type_name,否则会提示No classes were specified on the command line

2、Run运行。另外点击javap运行按钮时 先选中需要被运行的.java文件,至此你就可以在eclipse中使用javap了。

下面对设置工作目录(working directory)和参数(Arguments)的变量进行解释,如果只是想知道怎么使用javap,下面可以跳过。在设置这两项选项之前,我们先对右侧的变量( Variables )进行说明,这样我们就对eclipse是如何管理我们的工程有一个了解.我们选中 Variables后

会出现一系列的英语单词,如下图:

下面就对这些英语单词进行说明,如果不想继续看下面的内容,可以自己去尝试翻译下面的变量描述( Variables descriptions ),我是比较懒的人英语也不好,就直接通过link方式将eclipse进行汉化,直接将别人翻译好的内容搬弄过来,下面是其参数解释:

1.${build_files}

返回其修改导致了当前构建的绝对文件系统路径的集合。可将一系列的字符(“a”表示增加(added),“c”表示更改(changed),“r”表示除去(removed),“f”表示仅限文件(files only),“d”表示仅限目录(directories only))作为自变量来提供,以使文件列表仅包含特定类型的变化量。缺省为包含全部变化量。

2.${build_project}

返回其修改导致了当前构建的绝对文件系统路径的集合。可将一系列的字符(“a”表示增加(added),“c”表示更改(changed),“r”表示除去(removed),“f”表示仅限文件(files only),“d”表示仅限目录(directories only))作为自变量来提供,以使文件列表仅包含特定类型的变化量。缺省为包含全部变化量。

3.${build_type}

返回正在执行的构建的类型:“增量”、“完全”、“自动”或“无”。

4.${container_loc}

返回资源的容器的绝对文件系统路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

5.${container_name}

返回资源的容器的名称。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

6.${container_path}

返回资源的容器的工作空间相对路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

7.${current_date}

返回当前系统的时间,格式为yyyyMMdd_HHmm。可使用可选声明来规定其他的格式。格式必须是java.util.SimpleDateFormat的有效形式。

8.${eclipse_home}

运行中的平台的基本安装位置

9.${env_var}

返回环境变量的值。必须将环境变量名指定为自变量。

10.${file_prompt}

返回在“选择文件”对话框中选择的文件的绝对文件系统路径。当提供一个自变量时,使用它作为对话框标题上的提示。当提供第二个自变量时,使用它作为“选择文件”对话框的初始值。第一个自变量和第二个自变量必须以“:”分隔。

11.${folder_prompt}

返回在“选择目录”对话框中选择的目录的绝对文件系统路径。当提供一个自变量时,使用它作为对话框标题上的提示。当提供第二个自变量时,使用它作为“选择目录”对话框的初始值。第一个自变量和第二个自变量必须以“:”分隔。

12.${java_extensions_regex}

与已注册的类似于 Java 的文件扩展名相匹配的正则表达式

13.${java_type_name}

返回所选资源中主类型的标准 Java 类型名。

14.${project_classpath}

返回该工程的系统路径

15.${project_loc}

返回资源的项目的绝对文件系统路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

16. ${project_name}

返回资源的项目的名称。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

17.${project_path}

返回资源的项目的工作空间相对路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

18.${resource_loc}

返回资源的绝对文件系统路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

19.${resource_name}

返回资源的名称。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

20. ${resource_path}

返回资源的工作空间相对路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。

21.${selected_resource_loc}

返回选择的资源的工作空间的文件系统绝对路径

22. ${selected_resource_name}

返回选择的资源的名称

23. ${selected_resource_path}

返回选择的资源的工作空间的相对路径

24. ${selected_text}

返回活动编辑器中当前选择的文本。

26.${system}

返回 Eclipse 系统变量的值。必须将变量名指定为自变量 - 下列其中一个值:ARCH、ECLIPSE_HOME、NL、OS 或 WS。

27. ${system_path}

返回外部文件的绝对文件系统路径。通过根据指定的系统路径来查找第一个出现的指定工具来解决。必须将工具名称作为自变量来提供。

28.${system_property}

从 Eclipse 运行时返回系统属性的值。系统属性名必须作为自变量指定。

29. ${workspace_loc}

返回工作空间根目录的绝对文件系统路径。当指定了自变量时,返回由工作空间相对路径标识的资源的绝对文件系统路径。

上述基本上是所有的 变量描述( Variables descriptions ),请注意标记为绿色的选项,是我们需要使用到的 Variables.

我们上述已经说明了需要配置2个地方,第一个为工作目录,就是我们创建的工程目录下,可以利用 ${workspace_loc}/ ${project_name}来表示,

在至于路径分隔符,可以选择'\'也可以选择'/',都是可以的.第二个设置就是我们的参数设置,就是我们需要进行javap分解的class文件,可以利用 ${workspace_loc}/ ${project_name}/bin/ ${java_type_name},请注意我们必须在中间加上一个bin 目录,这是因为eclipse会将我们的java文件编译到该目录下,但是在 Variables 中却没有表示该目录的变量,因此只能手工添加。

如果你是第一次进行配置,请最好看完下面的说明,也许第一运行的时候会出现下面的错误:

那么请你在运行javap的时候一定要选择好你要javap的java文件,意思就是你要分解的java文件必须被选择上,如下图:

然后再点击运行javap,则会顺利出现下面分解好的class文件:

Eclipse中使用javap运行配置详解的更多相关文章

  1. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  2. Tomcat中的Server.xml配置详解

    Tomcat中的Server.xml配置详解 Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server> <Listener /> ...

  3. Apache 中httpd.conf文件配置详解(转载)

    httpd.conf文件配置详解   Apache的基本设置主要交由httpd.conf来设定管理,我们要修改Apache的相关设定,主要还是通过修改httpd.cong来实现.下面让我们来看看htt ...

  4. binlog之四:mysql中binlog_format模式与配置详解,binlog的日志格式详解

    mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复 ...

  5. 关于hbase中的hbase-site.xml 配置详解

    该文档是用Hbase默认配置文件生成的,文件源是 hbase-default.xml hbase.rootdir 这个目录是region server的共享目录,用来持久化HBase.URL需要是'完 ...

  6. Redis中redis.conf里面配置详解

    是否将redis设置为守护程序,默认为no daemonize yes   如果设置为守护程序,需要指定pid文件 pidfile /var/run/redis/redis-server.pid   ...

  7. nginx 主运行配置详解(nginx.conf)

    #==基础配置==# user nginx; #设置运行用户,当运行NGINX时,进程所使用的用户,则进程拥有该用户对文件或目录的操作权限. worker_processes 4; #设置工作进程数量 ...

  8. mysql中binlog_format模式与配置详解

    mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复 ...

  9. Spring中配置文件applicationContext.xml配置详解

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

随机推荐

  1. 一路踩过的坑 php

    1.数据表唯一索引  (两列字段,组合索引) 遇到的情形:项目搭建新测试环境(其实就是所谓的灰度 与线上一致的一个环境):从线上拉回来代码搭建的,数据也是来自于线上数据,但是由于线上数据有部分为机密数 ...

  2. python备忘录

    本文主要是记录一下python,比较详尽的python学习资料: Python学习笔记_王纯业 http://pan.baidu.com/s/1eQrDEYA 部分有详细的博文链接 1.字符串: 切片 ...

  3. 服务器调用JS

    服务器控件调用JS一.两类JS的触发设计1.提交之前的JS -- 加js的事件例:<script language="javascript"> // 构造函数 func ...

  4. duplicate symbol _OBJC_METACLASS_$ 报错记录

    duplicate symbol _OBJC_METACLASS_$_TabbarButton in: /Users/hw201406/Library/Developer/Xcode/DerivedD ...

  5. C#导出数据至excel模板

    开源分享最近一个客户要做一个将数据直接输出到指定格式的Excel模板中,略施小计,搞定 其中包含了对Excel的增行和删行,打印预览,表头,表体,表尾的控制 using System; using S ...

  6. Git之使用

    一大清早的,正在熟睡的我竟然被冻醒了,这天好冷啊,没事就先来扯一下犊子吧:我发现我养成了一个“怪”习惯:我老是一大早起来打开电脑就撸代码,到了中午和下午就去干别的事不想敲了.我们寝室的宿友总是被我敲代 ...

  7. MVC 全站开启缓存,缓解服务器的请求压力

    protected void Application_BeginRequest() { //获取当前请求的url string url = HttpContext.Current.Request.Pa ...

  8. 【Unity3D】中的空引用 Null Reference Exception

    Null Reference Exception : Object reference not set to an instance of an object. 异常:空引用,对象的引用未设置到对象的 ...

  9. 8款耀眼的jQuery/HTML5焦点图滑块插件

    1.HTML5/CSS3超酷焦点图特效 带前后翻页按钮 今天要分享的这款HTML5/CSS3焦点图插件切换效果比较简单,但是外观和功能却十分强大.该CSS3焦点图在切换图片时,图片以淡入淡出的方式缩小 ...

  10. 数据挖掘:实用机器学习技术P295页:

    数据挖掘:实用机器学习技术P295页: 在weka软件中的实验者界面中,新建好实验项目后,添加相应的实验数据,然后添加对应需要的分类算法 ,需要使用多个算法时候重复操作添加add algorithm. ...