JDK常用命令详解

转载 2006年06月19日 15:41:00
JDK的命令详解(1) 功能说明: rmic 为远程对象生成 stub 和 skeleton。 语法: rmic [ options ] package-qualified-class-name(s) 补充说明: rmic 编译器根据编译后的 Java 类(含有远程对象实现)名,为远程对象生成 stub 和 skeleton(远程对象是指实现 java.rmi.Remote 接口的对象)。在 rmic 命令中所给的类必须是经 javac 命令成功编译且是完全包限定的类。 命令选项 -classpath[路径] 指定 rmic 用于查询类的路径。如果设置了该选项,它将覆盖缺省值或 CLASSPATH 环境变量。目录用冒号分隔。 -d[目录] 指定类层次的根目录。此选项可用来指定 stub 和 skeleton 文件的目标目录。 -depend 使编译器考虑重新编译从其它类引用的类。 一般来说,它只重新编译从源代码引用的遗漏或过期的类。 -g 允许生成调试表格。调试表格含有行号和局部变量的有关信息,即 Java 调试工具所使用的信息。缺省情况下,只生成行号。 -J 与 -D 选项联用,它将紧跟其后的选项( -J 与 -D 之间无空格)传给 java 解释器。 -keepgenerated 为 stub 和 skeleton 文件保留所生成的 .java 源文件,并将这些源文件写到与 .class 文件相同的目录中,如果要指定目录,则使用 -d 选项。 -nowarn 关闭警告。如果使用该选项,则编译器不输出任何警告信息。 -show 显示 rmic 编译器的 GUI(图形用户界面)。输入一个或多个包限定类名(以空格分隔),并按回车键或“显示”按钮,创建 stub 和 skeleton。 -vcompat (缺省值)创建与 JDK 1.1 和 1.2 stub 协议版本都兼容的 stub 和 skeleton。 -verbose 使编译器和链接器输出关于正在编译哪些类和正在加载哪些类文件的信息。 -v1.1 创建 JDK 1.1 stub 协议版本的 stub 和 skeleton。 -v1.2 只创建 JDK 1.2 stub 协议版本的 stub。 rmid 功能说明: rmid 启动激活系统守护进程,以便能够在 Java 虚拟机上注册和激活对象。 语法: rmid [-port port] [-log dir] 补充说明: rmid 工具启动激活系统守护进程。必须先启动激活系统守护进程,才能向激活系统注册可被激活的对象或在 Java 虚拟机上激活可被激活的对象。 命令选项 -C<某些命令行选项> 指定一个选项,在创建每个 rmid 的子守护进程(激活组)时,该选项以命令行参数的形式传给该子守护进程。 -log[目录] 指定目录的名称,激活系统守护进程在该目录中写入其数据库及相关信息。缺省状态下,将在执行 rmid 命令的目录中创建一个 log 目录。 -port[端口] 指定 rmid 的注册服务程序所使用的端口。激活系统守护进程将 ActivationSystem 与该注册服务程序中的名称java.rmi.activation.ActivationSystem 捆绑在一起。 -stop 停止 -port 选项所指定端口上的当前 rmid 调用。若未指定端口,则将停止在端口 1098 上运行的 rmid。 rmiregistry 功能说明: rmiregistry 命令可在当前主机的指定端口上启动远程对象注册服务程序。 语法: rmiregistry [port] 补充说明: rmiregistry 命令在当前主机的指定 port 上创建并启动远程对象注册服务程序。如果省略 port,则注册服务程序将在 1099 端口上启动。rmiregistry 命令不产生任何输出而且一般在后台运行。远程对象注册服务程序是自举命名服务。主机上的 RMI 服务器将利用它将远程对象绑定到名字上。客户机即可查询远程对象并进行远程方法调用。注册服务程序一般用于定位应用程序需调用其方法的第一个远程对象。该对象反过来对各应用程序提供相应的支持,用于查找其它对象。java.rmi.registry.LocateRegistry 类的方法可用于在某台主机或主机和端口上获取注册服务程序操作。java.rmi.Naming 类的基于 URL 的方法将对注册服务程序进行操作,并可用于查询远程对象、将简单(字符串)名称绑定到远程对象、将新名称重新绑定到远程对象(覆盖旧绑定)、取消远程对象的绑定以及列出绑定在注册服务程序上的 URL。 serialver 功能说明: serialver 命令返回 serialVersionUID。 语法: serialver [ 命令选项 ] 补充说明: serialver 以适于复制到演变类的形式返回一个或多个类的 serialVersionUID。不带参数调用时,它输出用法行。 命令选项 -show 显示一个简单的用户界面。输入完整的类名并按回车键或“显示”按钮可显示 serialVersionUID。 jarsigner 功能说明: 为 Java 归档 (JAR) 文件产生签名,并校验已签名的 JAR 文件的签名。 语法: jarsigner [ 命令选项 ] jar-file alias jarsigner -verify [ 命令选项 ] jar-file 补充说明: jarsigner 工具用于两个目的: 1:为 Java 归档 (JAR) 文件签名 2:校验已签名的 JAR 文件的签名和完整性 命令选项 -keystore[url] 指定密钥仓库的 URL。缺省值是用户的宿主目录中的 .keystore 文件,它由系统属性“user.home”决定。 -storetype[storetype] 指定要被实例化的密钥仓库类型。默认的密钥仓库类型是安全属性文件中 "keystore.type" 属性值所指定的那个类型,由 java.security.KeyStore 中的静态方法 getDefaultType 返回。 -storepass[password] 指定访问密钥仓库所需的口令。这仅在签名(不是校验)JAR 文件时需要。在这种情况下,如果命令行中没有提供 -storepass 选项,用户将被提示输入口令。 -keypass[password] 指定用于保护密钥仓库项(由命令行中指定的别名标出)的私钥的口令。使用 jarsigner 为 JAR 文件签名时需要该口令。如果命令行中没有提供口令,且所需的口令与密钥仓库的口令不同,则将提示用户输入它。 -sigfile[file] 指定用于生成 .SF 和 .DSA 文件的基本文件名。 -signedjar[file] 指定用于已签名的 JAR 文件的名称。 -verify 如果它出现在命令行中,则指定的 JAR 文件将被校验,而不是签名。如果校验成功,将显示“jar verified”。如果试图校验未签名的 JAR 文件,或校验被不支持的算法(例如未安装 RSA 提供者时使用的 RSA)签名的 JAR 文件,则将有如下显示: "jar is unsigned. (signatures missing or not parsable)" 。 -certs 如果它与 -verify 和 -verbose 选项一起出现在命令行中,则输出将包括 JAR 文件的每个签名人的证书信息。 -verbose 如果它出现在命令行中,则代表“verbose”模式,它使 jarsigner 在 JAR 签名或校验过程中输出额外信息。 -internalsf 过去,JAR 文件被签名时产生的 .DSA(签名块)文件包含一个同时产生的 .SF 文件(签名文件)的完整编码副本。这种做法已被更改。为了减小输出 JAR 文件的整个大小,缺省情况下 .DSA 文件不再包含 .SF 文件的副本。但是如果 -internalsf 出现在命令行中,将采用旧的做法。该选项主要在测试时有用;实际上不应使用它,因为这样将消除有用的优化。 -sectionsonly 如果它出现在命令行中,则 JAR 文件被签名时生成的 .SF 文件(签名文件)将不包括含有整个清单文件的散列的头。它仅包含 与 JAR 中每个单独的源文件相关的信息和散列。该选项主要在测试时有用;实际上不应使用它,因为这样将消除有用的优化。 -J[javaoption] 将指定的 javaoption 串直接传递到 Java 解释器。((jarsigner 实际上是解释器的一个 “wrapper”)。该选项不应含有任何空格。它有助于调整执行环境或内存使用。要获得可用的解释器选项的清单,可在命令行键入 java -h 或 java -X。 JDK的命令详解(2) keytool 功能说明: 管理由私钥和认证相关公钥的 X.509 证书链组成的密钥仓库(数据库)。还管理来自可信任实体的证书。 语法: keytool [ 命令 ] 补充说明: keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。 native2ascii 功能说明: 将含有本地编码字符(既非 Latin1 又非 Unicode 字符)的文件转换为 Unicode 编码字符的文件。 语法: native2ascii [options] [inputfile [outputfile]] 补充说明: Java 编译器和其它 Java 工具只能处理含有 Latin-1 和/或 Unicode 编码(udddd 记号)字符的文件。native2ascii 将含有其它字符编码的文件转换成含 Latin-1 和/或 Unicode 编码字符的文件。若省略 outputfile,则使用标准输出设备输出。此外,如果也省略 inputfile,则使用标准输入设备输入。 命令选项 -reverse 执行相反的操作:将含 Latin-1 和/或 Unicode 编码字符的文件转换成含本地编码字符的文件。 -encoding[encoding_name] 指定转换过程使用的编码名称。缺省的编码从系统属性 file.encoding 中得到。 appletviewer 功能说明: Java applet 浏览器。appletviewer 命令可在脱离万维网浏览器环境的情况下运行 applet。 语法: appletviewer [ threads flag ] [ 命令选项 ] urls ... 补充说明: appletviewer 命令连接到 url 所指向的文档或资源上,并在其自身的窗口中显示文档引用的每个 applet。注意:如果 url 所指向的文档不引用任何带有 OBJECT、EMBED 或 APPLET 标记的 applet,那么 appletviewer 就不做任何事情。 命令选项 -debug 在 Java 调试器 jdb 中启动 appletviewer,使您可以调试文档中的 applet。 -encoding[编码名称] 指定输入 HTML 文件的编码名称。 -J[javaoption] 将 javaoption 字符串作为单个参数传给运行 appletviewer 的 Java 解释器。参数不能含有空格。由多重参数组成的字符串,其中的每个参数都必须以前缀 -J 开头,该前缀以后将被除去。这在调整编译器的执行环境或内存使用时将很有用。 extcheck 功能说明: extcheck 检测目标 jar 文件与当前安装方式扩展 jar 文件间的版本冲突。 语法: extcheck [ -verbose ] targetfile.jar 补充说明: extcheck 实用程序检查指定 Jar 文件的标题和版本与 JDK TM 软件中所安装的扩展是否有冲突。在安装某个扩展前,可以用该实用程序查看是否已安装了该扩展的相同版本或更高的版本。 extcheck 实用程序将 targetfile.jar 文件清单的 specification-title 和 specification-version 头与当前安装在扩展目录下所有 Jar 文件的相对应的头进行比较(缺省扩展目录为 jre/lib/ext)。extcheck 实用程序比较版本号的方式与 java.lang.Package.isCompatibleWith 方法相同。若未检测到冲突,则返回代码为 0。如果扩展目录中任何一个 jar 文件的清单有相同的 specification-title 和相同的或更新的 specification-version 号,则返回非零错误代码。如果 targetfile.jar 的清单中没有 specification-title 或 specification-version 属性,则同样返回非零错误代码。 命令选项 -verbose 对扩展目录中的 Jar 文件进行检查时,列出文件。此外,还报告目标 jar 文件的清单属性及所有冲突的 jar 文件。 jar 功能说明: Java归档工具 语法: jar [ 命令选项 ] [manifest] destination input-file [input-files] 补充说明: jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而,设计jar的主要目的是便于将java applet或应用程序打包成单个归档文件。将applet或应用程序的组件(.class 文件、图像和声音)合并成单个归档文件时,可以用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,而不是对每个组件都要求一个新连接。这大大缩短了下载时间。jar还能压缩文件,从而进一步提高了下载速度。此外,它允许applet的作者对文件中的各个项进行签名,因而可认证其来源。jar工具的语法基本上与tar命令的语法相同。 命令选项 -c 在标准输出上创建新归档或空归档。 -t 在标准输出上列出内容表。 -x[file] 从标准输入提取所有文件,或只提取指定的文件。如果省略了file,则提取所有文件;否则只提取指定文件。 -f 第二个参数指定要处理的jar文件。在-c(创建)情形中,第二个参数指的是要创建的jar文件的名称(不是在标准输出上)。在-t(表(或-x(抽取)这两种情形中,第二个参数指定要列出或抽取的jar文件。   -v 在标准错误输出设备上生成长格式的输出结果。 -m 包括指定的现有清单文件中的清单信息。用法举例:“jar cmf myManifestFile myJarFile *.class” -0 只储存,不进行 ZIP 压缩。 -M 不创建项目的清单文件。 -u 通过添加文件或更改清单来更新现有的 JAR 文件。例如:“jar -uf foo.jar foo.class”将文件 foo.class 添加到现有的JAR文件foo.jar中,而“jar umf manifest foo.jar”则用manifest中的信息更新foo.jar的清单。 -C 在执行 jar 命令期间更改目录。例如:“jar -uf foo.jar -C classes *”将classes目录内的所有文件加到foo.jar中,但不添加类目录本身。 程序示例 1:将当前目录下所有CLASS文件打包成新的JAR文件: jar cf file.jar *.class 2:显示一个JAR文件中的文件列表 jar tf file.jar 3:将当前目录下的所有文件增加到一个已经存在的JAR文件中 jar cvf file.jar * javadoc 功能说明 Java API文档生成器从Java源文件生成API文档HTML页。 语法: javadoc [ 命令选项 ] [ 包名 ] [ 源文件名 ] [ @files ] 其中[ 包名 ]为用空格分隔的一系列包的名字,包名不允许使用通配符,如(*)。[ 源文件名 ]为用空格分隔的一系列的源文件名,源文件名可包括路径和通配符,如(*)。[ @files ]是以任何次序包含包名和源文件的一个或多个文件。 补充说明 Javadoc解析Java源文件中的声明和文档注释,并产生相应的HTML页缺省),描述公有类、保护类、内部类、接口、构造函数、方法和域。 在实现时,Javadoc要求且依赖于java编译器完成其工作。Javadoc调用部分javac编译声明部分,忽略成员实现。它建立类的内容丰富的内部表示,包括类层次和“使用”关系,然后从中生成HTML。Javadoc还从源代码的文档注释中获得用户提供的文档。 当Javadoc建立其内部文档结构时,它将加载所有引用的类。由于这一点,Javadoc必须能查找到所有引用的类,包括引导类、扩展类和用户类。 命令选项 -overview i>path/filename 指定javadoc应该从path/filename所指定的“源”文件中获取概述文档,并将它放到概述页中(overview-summary.html)。其中path/filename 是相对于-sourcepath的相对路径名。 -public 只显示公有类及成员。 -protected 只显示受保护的和公有的类及成员。这是缺省状态。 -package 只显示包、受保护的和公有的类及成员。 -private 显示所有类和成员。 -help 显示联机帮助,它将列出这些javadoc和doclet命令行选项。 -doclet class 指定启动用于生成文档的docle 的类文件。该doclet定义了输出的内容和格式。如果未使用-doclet选项,则javadoc使用标准doclet生成缺省HTML格式。该类必须包含start(Root)法。该启动类的路径由 -docletpath选项定义。 -docletpath classpathlist 指定doclet类文件的路径,该类文件用-doclet选项指定。如果doclet已位于搜索路径中,则没有必要使用该选项。 -1.1 生成具有用Javadoc 1.1生成的文档的外观和功能的文档。也就是说,页的背景为灰色,用图像做页眉,使用bullet列表而不是表格,具有单层目的目录结构,不包含继承 API,不使?*** TML框架,并且不支持内部类。该选项还自动将索引分割成每个字母一个文件。如果想要这种外观,则该选项比javadoc 1.1优越之处等于修正了一些错误。 -sourcepath sourcepathlist 当将包名传递到javadoc命令中时,指定定位源文件(.java)的搜索路径。注意只有当用 javadoc命令指定包名时才能使用sourcepath选项 -- 它将不会查找传递到javadoc命令中的.java文件。如果省略-sourcepath,则javadoc使用类路径查找源文件。 -classpath classpathlist 指定javadoc将在其中查找引用类的路径 -- 引用类是指带文档的类加上它们引用的任何类。Javadoc将搜索指定路径的所有子目录。classpathlist可以包括多个路径,彼此用逗号分隔。 -bootclasspath classpathlist 指定自举类所在路径。它们名义上是Java平台类。这个bootclasspath是Javadoc将用来查找源文件和类文件的搜索路径的一部分。在 classpathlist中用冒号(:)分隔目录。 -extdirs dirlist 指定扩展类所在的目录。它们是任何使用Java扩展机制的类。这个 extdirs是Javadoc将用来查找源文件和在文件的搜索路径的一部分。在dirlist中用冒号(:)分隔目录。 -verbose 在javadoc运行时提供更详细的信息。不使用verbose选项时,将显示加载源文件、生成文档(每个源文件一条信息)和排序的信息。verbose选项导致打印额外的信息,指定解析每个java源文件的毫秒数。 -locale language_country_variant 指定javadoc在生成文档时使用的环境。 -encoding name 指定源文件编码名,例如EUCJIS/SJIS。如果未指定该选项,则使用平台缺省转换器。 -J[flag] 将flag直接传递给运行javadoc的运行时系统java。注意在J和flag之间不能有空格。 标准 Doclet 提供的选项 -d directory 指定javadoc保存生成的HTML件的目的目录。省略该选项将导致把文件保存到当前目录中。其中directory可以是绝对路径或相对当前工作目录的相对路径。 -use 对每个带文档类和包包括一个“用法”页。该页描述使用给定类或包的任何 API 的包、类、方法、构造函数和域。对于给定类 C,使用类 C 的任何东西将包括 C 的子类、声明为 C 的域、返回 C 的方法以及具有 C 类型参数的方法和构造函数。 -version 在生成文档中包括 @version 文本。缺省地将省略该文本。 -author 在生成文档中包括 @author 文本。 -splitindex 将索引文件按字母分割成多个文件,每个字母一个文件,再加上一个包含所有以非字母字符开头的索引项的文件。 -windowtitle[title] 指定放入 HTML 标记中的标题。它将出现在窗口标题栏中和为该页创建的任何浏览器书签(最喜爱的位置)中。该标题不应该包含任何 HTML 标记,因为浏览器将不能正确解释它们。在 title 中的任何内部引号必须转义。如果省略 -windowtitle,则 Javadoc 对该选项使用 -doctitle 的值。 -doctitle[title] 指定放置在靠近概述概览文件顶部的标题。该标题将作为一级标题,居中地直接放在导航栏下面。title 可包含 html 标记和空格,但是如果这样,则必须用引号将它括起。在 title 中的任何内部引号必须转义。 -title[title] 该选项不再存在。它仅存在于 Javadoc 1.2 的 Beta 版中。它已重命名为 -doctitle。重命名该选项是为了更清楚地表示它定义文档标题而不是窗口标题。 -header[header] 指定放置在每个输出文件顶部的页眉文本。该页眉将放在上部导航栏的右边。header 可包含 HTML 标记和空格,但是如果这样则必须用引号将它括起。在 header 中的任何内部引号必须转义。 -footer[footer] 指定放置在每个输出文件底部的脚注文本。脚本将放置在下部导航栏的右边。footer 可包含 html 标记和空格,但是如果这样,则必须用引号将它括起。在 footer 中的任何内部引号必须转义。 -bottom[text] 指定放置在每个输出文件底部的文本。该文本将放置在页底,位于下部导航栏的下面。其中 text 可包含 HTML 标记和空格,但是如果这样,则必须用引号将它括起。在 text 中的任何内部引号必须转义。 -link[docURL] 创建链接指向已用 javadoc-生成的外部引用类的文档。参数 docURL是想要链接到的 javadoc-生成的外部文档的 URL。该位置可以是相对的或绝对的 URL。 -linkoffline[docURL][packagelistURL] 该选项为外部引用类名字创建指向文档的链接。 -group[groupheading]packagepattern:packagepattern:... 将概述页上的包分成指定的组,每组一个表格。用不同的 -group 选项指定每个组。各组按命令行中指定的次序出现在页面上。组内的包按字母排序。对于给定 -group 选项,与 packagepattern 表达式列表匹配的包出现在标题为 groupheading 的表格中。 -nodeprecated 防止在文档中生成任何不鼓励使用的 API。它执行-nodeprecatedlist 所做的事情,并且它不在文档其余部分生成任何不鼓励使用的 API。当编写代码并不想被不鼓励使用的代码分心时,这是非常有用的。 -nodeprecatedlist 防止在生成文件中包含不鼓励使用的 API 列表(deprecated-list.html)并防止在导航栏中包含该页的链接。(但是,javadoc 继续在文档其余部分生成不鼓励使用的 API。) 如果源代码未包含不鼓励使用的 API,并且想要导航栏更干净,则它是非常有用的。 -notree 在生成文档中忽略类/接口层次。缺省地,将产生该层次。 -noindex 在生成文档中忽略索引。缺省地,将产生索引。 -nohelp 在输出的每页顶部和底部的导航栏中忽略“帮助”链接。 -nonavbar 防止产生导航栏、页眉和脚注,否则它们将出现在生成页的顶部和底部。它对“bottom”选项没有影响。当只对内容感兴趣并且没有必要导航时,例如仅将文件转换成 PostScript 或 PDF 以进行打印,-nonavbar 选项是非常有用的。 -helpfile[path/filename] 指定顶部和底部导航栏中“帮助”链接所链接到的替代帮助文件 path/filename 的路径。不使用该选项时,Javadoc 自动创建帮助文件 help-doc.html,它在 Javadoc 中硬编码。该选项使得可覆盖这种缺省情况。其中 filename 可以是任何名字,不局限于 help-doc.html -- Javadoc 将相应调整导航栏中的链接。 -stylesheetfile[path/filename] 指定替代 HTML 样式表单文件的路径。不使用该选项时,Javadoc 将自动创建样式表单文件 stylesheet.css,它在 Javadoc 中硬编码。该选项使得可覆盖这种缺省情况。其中 filename 可以是任何名字,不局限于 stylesheet.css。 -docencoding[name] 指定输出 HTML 文件的编码方式。 javah 功能说明: C 头文件和 Stub 文件生成器。javah 从 Java 类生成 C 头文件和 C 源文件。这些文件提供了连接胶合,使 Java 和 C 代码可进行交互。 语法: javah [ 命令选项 ] fully-qualified-classname. . . javah_g [ 命令选项 ] fully-qualified-classname. . . 补充说明: javah 生成实现本地方法所需的 C 头文件和源文件。C 程序用生成的头文件和源文件在本地源代码中引用某一对象的实例变量。.h 文件含有一个 struct 定义,该定义的布局与相应类的布局平行。该 struct 中的域对应于类中的实例变量。 头文件名以及在头文件中所声明的结构名都来源于类名。如果传给 javah 的类是在某个包中,则头文件名和结构名前都要冠以该包名。下划线 (_) 用作名称分隔符。 缺省情况下,javah 为每个在命令行中列出的类都创建一个头文件,且将该文件放在当前目录中。用 -stubs 选项创建源文件。用 -o 选项将所有列出类的结果串接成一个单一文件。 缺省情况下,javah 为每个在命令行中列出的类都创建一个头文件,且将该文件放在当前目录中。用 -stubs 选项创建源文件。用 -o 选项将所有列出类的结果串接成一个单一文件。 命令选项 -o[输出文件] 将命令行中列出的所有类的头文件或源文件串接到输出文件中。-o 或 -d 两个选项只能选择一个。 -d[目录] 设置 javah 保存头文件或 stub 文件的目录。-d 或 -o 两个选项只能选择一个。 -stubs 使 javah 从 Java 对象文件生成 C 声明。 -verbose 指明长格式输出,并使 javah 将所生成文件的有关状态的信息输出到标准输出设备中。 -help 输出 javah 用法的帮助信息。 -version 输出 javah 的版本信息。 -jni 使 javah 创建一输出文件,该文件包含 JNI 风格的本地方法函数原型。这是缺省输出,所以 -jni 的使用是可选的。 -classpath[路径] 指定 javah 用来查询类的路径。如果设置了该选项,它将覆盖缺省值或 CLASSPATH 环境变量。目录用冒号分隔。 -bootclasspath[路径] 指定加载自举类所用的路径。缺省情况下,自举类是实现核心 Java 平台的类,位于 jrelib t.jar 和 jrelibi18n.jar 中。 -old 指定应当生成旧 JDK1.0 风格的头文件。 -force 指定始终写输出文件。 javap 功能说明: Java 类文件解析器。 语法: javap [ 命令选项 ] class. . . 补充说明: javap 命令用于解析类文件。其输出取决于所用的选项。若没有使用选项,javap 将输出传递给它的类的 public 域及方法。javap 将其输出到标准输出设备上。 命令选项 -help 输出 javap 的帮助信息。 -l 输出行及局部变量表。 -b 确保与 JDK 1.1 javap 的向后兼容性。 -public 只显示 public 类及成员。 -protected 只显示 protected 和 public 类及成员。 -package 只显示包、protected 和 public 类及成员。这是缺省设置。 -private 显示所有类和成员。 -J[flag] 直接将 flag 传给运行时系统。 -s 输出内部类型签名。 -c 输出类中各方法的未解析的代码,即构成 Java 字节码的指令。 -verbose 输出堆栈大小、各方法的 locals 及 args 数。 -classpath[路径] 指定 javap 用来查找类的路径。如果设置了该选项,则它将覆盖缺省值或 CLASSPATH 环境变量。目录用冒号分隔。 - bootclasspath[路径] 指定加载自举类所用的路径。缺省情况下,自举类是实现核心 Java 平台的类,位于 jrelib t.jar 和 jrelibi18n.jar 中。 -extdirs[dirs] 覆盖搜索安装方式扩展的位置。扩展的缺省位置是 jrelibext。 </div> </article> <div class="readall_box csdn-tracking-statistics" data-mod="popu_376"> <div class="read_more_mask"></div> <a class="btn btn-large btn-gray-fred read_more_btn" target="_self">阅读全文</a> </div> <div class="article_copyright"> </div> <ul class="article_collect clearfix csdn-tracking-statistics" data-mod="popu_378"> <li class="tit">本文已收录于以下专栏:</li> <!-- [startarticlecolumns]--> <!-- [endarticlecolumns]--> </ul> <div class="comment_box clearfix"> <div id="comment_form"> <div id="commentsbmitarear"> </div> </div> </div> <div class="comment_li_outbox"> <div id="comment_list"></div> </div> <div class="more_comment"> <div id="comment_bar" class="trackgin-ad" data-mod="popu_385"></div> </div> <h3 class="recommend_tit">相关文章推荐</h3> <div class="recommend_list clearfix"> <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dd> <h2><a href="http://blog.csdn.net/JAVE_LOVER/article/details/11857617" target="_blank" strategy="BlogCommendFromCsdn_0">Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解</a></h2> <div class="summary"> 俗话说:“十五的月亮十六圆”。那学习是不是也是如此呢?如果把月亮看成是我们的愿望,那十五便是我们所处的“高原期”,坚持迈过这个难易提升的坎,我相信你的愿望终究会现实的。记得马云曾说:今天很残酷,明天更... </div> <ul> <li class="avatar_img"><a href="http://blog.csdn.net/JAVE_LOVER" target="_blank" strategy="BlogCommendFromCsdn_0"><img src="http://avatar.csdn.net/8/F/3/3_jave_lover.jpg" alt="JAVE_LOVER" title="JAVE_LOVER"></a></li> <li class="user_name"><a href="http://blog.csdn.net/JAVE_LOVER">JAVE_LOVER</a></li> <li class="time">2013年09月21日 00:52</li> <li class="visited_num"><i class="icon iconfont icon-read"></i><span>2950</span></li> </ul> </dd> </dl> <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dd> <h2><a href="http://blog.csdn.net/xuxu198899223/article/details/24460409" target="_blank" strategy="BlogCommendFromCsdn_1">Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解</a></h2> <div class="summary"> 俗话说:“十五的月亮十六圆”。那学习是不是也是如此呢?如果把月亮看成是我们的愿望,那十五便是我们所处的“高原期”,坚持迈过这个坎,我相信你的愿望终究会现实的。记得马云曾说:今天很残酷,明天更残酷,后天... </div> <ul> <li class="avatar_img"><a href="http://blog.csdn.net/xuxu198899223" target="_blank" strategy="BlogCommendFromCsdn_1"><img src="http://avatar.csdn.net/D/7/B/3_xuxu198899223.jpg" alt="xuxu198899223" title="xuxu198899223"></a></li> <li class="user_name"><a href="http://blog.csdn.net/xuxu198899223">xuxu198899223</a></li> <li class="time">2014年04月25日 11:10</li> <li class="visited_num"><i class="icon iconfont icon-read"></i><span>361</span></li> </ul> </dd> </dl> <script> (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div id="' + s + '"></div>'); (window.slotbydup=window.slotbydup || []).push({ id: '4765209', container: s, size: '808,120', display: 'inlay-fix' }); })(); </script> <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dd> <h2><a href="http://blog.csdn.net/24_hour/article/details/51213041" target="_blank" strategy="BlogCommendFromCsdn_2">jdk中密钥和证书管理工具keytool常用命令详解</a></h2> <div class="summary"> keytool JAVA是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务 -genkey  ... </div> <ul> <li class="avatar_img"><a href="http://blog.csdn.net/24_hour" target="_blank" strategy="BlogCommendFromCsdn_2"><img src="http://avatar.csdn.net/9/F/4/3_24_hour.jpg" alt="24_hour" title="24_hour"></a></li> <li class="user_name"><a href="http://blog.csdn.net/24_hour">24_hour</a></li> <li class="time">2016年04月21日 21:12</li> <li class="visited_num"><i class="icon iconfont icon-read"></i><span>273</span></li> </ul> </dd> </dl> <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dd> <h2><a href="http://blog.csdn.net/Miklechun/article/details/38339123" target="_blank" strategy="BlogCommendFromCsdn_3">JDK工具KEYTOOL常用命令</a></h2> <div class="summary"> -genkey         在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书 -alias          产生别名 ... </div> <ul> <li class="avatar_img"><a href="http://blog.csdn.net/Miklechun" target="_blank" strategy="BlogCommendFromCsdn_3"><img src="http://avatar.csdn.net/8/F/5/3_miklechun.jpg" alt="Miklechun" title="Miklechun"></a></li> <li class="user_name"><a href="http://blog.csdn.net/Miklechun">Miklechun</a></li> <li class="time">2014年08月01日 16:47</li> <li class="visited_num"><i class="icon iconfont icon-read"></i><span>559</span></li> </ul> </dd> </dl> <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dd> <h2><a href="http://blog.csdn.net/down177/article/details/40988325" target="_blank" strategy="BlogCommendFromCsdn_4">JDK中密钥和证书管理工具Keytool常用命令</a></h2> <div class="summary"> JDK中密钥和证书管理工具Keytool常用命令 博客分类: Java jdkkeytool  keytool JAVA是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及... </div> <ul> <li class="avatar_img"><a href="http://blog.csdn.net/down177" target="_blank" strategy="BlogCommendFromCsdn_4"><img src="http://avatar.csdn.net/3/A/F/3_down177.jpg" alt="down177" title="down177"></a></li> <li class="user_name"><a href="http://blog.csdn.net/down177">down177</a></li> <li class="time">2014年11月10日 21:44</li> <li class="visited_num"><i class="icon iconfont icon-read"></i><span>1249</span></li> </ul> </dd> </dl> <!-- 广告位:PC端-博客详情通栏7(feed流)-808*120 --> <script> (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div id="' + s + '"></div>'); (window.slotbydup=window.slotbydup || []).push({ id: '4983339', container: s, size: '808,120', display: 'inlay-fix' }); })(); </script> <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dt><a href="http://download.csdn.net/detail/qq_22930025/9082193" target="_blank" strategy="BlogCommendFromCsdn_5"><img class="maxwidth" src="http://download.csdn.net/images/minetype/txt.svg" alt="" title=""></a></dt> <dd> <div class="summary"> <h2><a href="http://download.csdn.net/detail/qq_22930025/9082193" target="_blank" strategy="BlogCommendFromCsdn_5">cisco常用命令大全详解完整版</a></h2> <div class="summary"> <ul> <li class="time">2015年09月06日 14:01</li> <li class="visited_num fileSize">24KB</li> <li class="download_btn"><a href="http://download.csdn.net/detail/qq_22930025/9082193" target="_blank">下载</a></li> </ul> </div> </div> </dd> </dl> <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dt><a href="http://download.csdn.net/detail/jmu_cr/3993697" target="_blank" strategy="BlogCommendFromCsdn_6"><img class="maxwidth" src="http://download.csdn.net/images/minetype/doc.svg" alt="" title=""></a></dt> <dd> <div class="summary"> <h2><a href="http://download.csdn.net/detail/jmu_cr/3993697" target="_blank" strategy="BlogCommendFromCsdn_6">Linux常用命令详解</a></h2> <div class="summary"> <ul> <li class="time">2012年01月02日 21:34</li> <li class="visited_num fileSize">72KB</li> <li class="download_btn"><a href="http://download.csdn.net/detail/jmu_cr/3993697" target="_blank">下载</a></li> </ul> </div> </div> </dd> </dl> <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dd> <h2><a href="http://blog.csdn.net/mountzf/article/details/51741639" target="_blank" strategy="BlogCommendFromCsdn_7">VIM总结之一:VIM编辑器常用命令详解</a></h2> <div class="summary"> VIM编辑器常用命令详解(基础篇)                                                                                   ... </div> <ul> <li class="avatar_img"><a href="http://blog.csdn.net/mountzf" target="_blank" strategy="BlogCommendFromCsdn_7"><img src="http://avatar.csdn.net/0/B/F/3_mountzf.jpg" alt="mountzf" title="mountzf"></a></li> <li class="user_name"><a href="http://blog.csdn.net/mountzf">mountzf</a></li> <li class="time">2016年06月23日 11:12</li> <li class="visited_num"><i class="icon iconfont icon-read"></i><span>3258</span></li> </ul> </dd> </dl> <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dt><a href="http://download.csdn.net/detail/smilezyr/4867239" target="_blank" strategy="BlogCommendFromCsdn_8"><img class="maxwidth" src="http://download.csdn.net/images/minetype/unkonw.svg" alt="" title=""></a></dt> <dd> <div class="summary"> <h2><a href="http://download.csdn.net/detail/smilezyr/4867239" target="_blank" strategy="BlogCommendFromCsdn_8">LInux常用命令详解</a></h2> <div class="summary"> <ul> <li class="time">2012年12月10日 11:14</li> <li class="visited_num fileSize">398KB</li> <li class="download_btn"><a href="http://download.csdn.net/detail/smilezyr/4867239" target="_blank">下载</a></li> </ul> </div> </div> </dd> </dl> <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed" data-feed-show="false" data-dsm="post"> <dt><a href="http://download.csdn.net/detail/coolpaper/4491820" target="_blank" strategy="BlogCommendFromCsdn_9"><img class="maxwidth" src="http://download.csdn.net/images/minetype/doc.svg" alt="" title=""></a></dt> <dd> <div class="summary"> <h2><a href="http://download.csdn.net/detail/coolpaper/4491820" target="_blank" strategy="BlogCommendFromCsdn_9">linux常用命令详解</a></h2> <div class="summary"> <ul> <li class="time">2012年08月11日 08:30</li> <li class="visited_num fileSize">547KB</li> <li class="download_btn"><a href="http://download.csdn.net/detail/coolpaper/4491820" target="_blank">下载</a></li> </ul> </div> </div> </dd> </dl> </div> </main> <aside> <div class="right_box user_info"> <dl class="inf_bar clearfix"> <dt class="csdn-tracking-statistics" data-mod="popu_381"> <a href="http://blog.csdn.net/psyl" target="_blank"> <img src="http://avatar.csdn.net/5/0/E/3_psyl.jpg" class="avatar_pic"> </a> <span class="medals" title=""> </span> </dt> <dd> <h3 class="csdn-tracking-statistics" data-mod="popu_380"><a href="http://blog.csdn.net/psyl" target="_blank" id="uid">psyl</a></h3> <span class="csdn-tracking-statistics" data-mod="popu_379"><a class="btn btn-redborder-small " id="span_add_follow" target="_self">+关注</a></span> </dd> </dl> <div class="inf_number_box clearfix"> <dl> <dt>原创</dt> <dd>343</dd> </dl> <dl> <dt>粉丝</dt> <dd id='fan'>458</dd> </dl> <dl> <dt>喜欢</dt> <dd>0</dd> </dl> <dl> <dt>码云</dt> <dd> </dd> </dl> </div> <div class="writings"> <div class="public_signal clearfix"> <h3>他的最新文章</h3> <a href="http://blog.csdn.net/psyl" target="_blank" class="more"><span>更多文章</span></a> </div> <ul class="inf_list clearfix csdn-tracking-statistics" data-mod="popu_382"> <li class="clearfix"> <a href="http://blog.csdn.net/psyl/article/details/6797655" target="_blank">新版新浪微博邀请,google music邀请 数量有限。</a> </li> <li class="clearfix"> <a href="http://blog.csdn.net/psyl/article/details/6732161" target="_blank">New feature of google web search 谷歌搜索结果调优</a> </li> <li class="clearfix"> <a href="http://blog.csdn.net/psyl/article/details/6576840" target="_blank">赠送 Google + 邀请,有需要的请留言</a> </li> </ul> </div> </div> <div class="extension_other csdn-tracking-statistics" data-mod="popu_389"> <!--u3032528--> <div class="flashrecommend"> <script type="text/javascript" src="http://mpb1.iteye.com/bwocoltlyzdec.js"></script> </div> </div> <!-- [StartShowSelfColumn]--> <!-- [EndShowSelfColumn]--> <div class="fixRight"> <div class="right_box padb0 csdn-tracking-statistics" data-mod="popu_391"> <h3 class="tit"><span><em>在线课程</em></span></h3> <ul class="edu_li clearfix"> <!-- [starteducourses]--> <li> <div> <a href="http://edu.csdn.net/huiyiCourse/series_detail/72?utm_source=blog7" target="_blank"> <img src="http://img.bss.csdn.net/201711171632559151.png" alt="白鹭引擎在WebAssembly中的实践" title="白鹭引擎在WebAssembly中的实践"> </a> </div> <div> <p><a href="http://edu.csdn.net/huiyiCourse/series_detail/72?utm_source=blog7" target="_blank">白鹭引擎在WebAssembly中的实践</a></p> <p>讲师:</p> </div> </li> <li> <div> <a href="http://edu.csdn.net/huiyiCourse/detail/602?utm_source=blog7" target="_blank"> <img src="http://img.bss.csdn.net/201711171629135569.png" alt="Apache Weex:移动研发的进阶之路" title="Apache Weex:移动研发的进阶之路"> </a> </div> <div> <p><a href="http://edu.csdn.net/huiyiCourse/detail/602?utm_source=blog7" target="_blank">Apache Weex:移动研发的进阶之路</a></p> <p>讲师:董岩</p> </div> </li> <!-- [endeducourses]--> </ul> </div> <div class="extension_other csdn-tracking-statistics bottomRcom" data-mod="popu_389" style="position:absolute;z-index:-5;opacity:0;pointer-events:none"> <!--u3032528--> <div class="flashrecommend"> <!-- 请置于所有广告位代码之前 --> <script src="http://dup.baidustatic.com/js/dm.js"></script> <!-- 广告位:PC端-博客详情页右侧视窗1(feed流)-300*250 --> <script> (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div id="' + s + '"></div>'); (window.slotbydup=window.slotbydup || []).push({ id: '4770930', container: s, size: '300,250', display: 'inlay-fix' }); })(); </script> </div> </div> </div> <div class="user-hotArticle"> <h3>热门文章</h3> <ul class="hotArticle-list csdn-tracking-statistics" data-mod="popu_521"> <!-- [StartHotArticles]--> <li> <a href="http://blog.csdn.net/psyl/article/details/3274371">教你如何查看加密的QQ空间和加密的QQ相册</a> <div class="read list-left"><i class="icon iconfont icon-read"></i><span>33246</span></div> </li> <li> <a href="http://blog.csdn.net/psyl/article/details/776333">Google打不开的解决方法和部分Google镜像IP地址表</a> <div class="read list-left"><i class="icon iconfont icon-read"></i><span>22885</span></div> </li> <li> <a href="http://blog.csdn.net/psyl/article/details/323551">Cygwin安装过程 </a> <div class="read list-left"><i class="icon iconfont icon-read"></i><span>20059</span></div> </li> <li> <a href="http://blog.csdn.net/psyl/article/details/729261">BAT批处理文件语法</a> <div class="read list-left"><i class="icon iconfont icon-read"></i><span>19010</span></div> </li> <li> <a href="http://blog.csdn.net/psyl/article/details/5406599">Google 宣布针对中国大陆的新政策:官方博客全文翻译</a> <div class="read list-left"><i class="icon iconfont icon-read"></i><span>15402</span></div> </li> <!-- [EndHotArticles]--> </ul> </div> <!-- [startcustom]--> <!-- [endcustom]--> </aside></div> <div class="left_fixed"> <div class="left_show_button"> <span> <i class="icon iconfont icon-youjiantou"></i> </span> </div> <ul class="left_menu"> <li> <button class="left-fixed-btn btn-like csdn-tracking-statistics" data-mod="popu_373" target="_self"> <a href="javascript:void(0);" class="iconbox border_red"><i class="icon iconfont icon-dianzan"></i></a> <a class="txt" href="javascript:void(0);">0</a> </button> </li> <li id="blog_artical_directory"> <button class="left-fixed-btn left_menu_btn csdn-tracking-statistics" data-mod="popu_372" target="_self"> <a href="javascript:void(0);" class="iconbox border_black"><i class="icon iconfont icon-mulu"></i></a> </button> </li> <li class="menu_con"> <div class="list_father"> <div class="arr_box"> <button class="btn-noborder arr-btn scroll-down left_scroll_down"><i class="icon iconfont icon-xiajiantou"></i></button> <button class="btn-noborder arr-btn scroll-up left_scroll_top"><i class="icon iconfont icon-shangjiantou"></i></button> </div> <div class="arr"></div> <div id="csdnBlogDir"></div> </div> </li> <!-- <li>--> <!-- <button class="left-fixed-btn btn-like tracking-ad" data-mod="popu_373" target="_self">--> <!-- <span class="iconbox border_red"><i class="icon iconfont icon-xihuan-"></i></span>--> <!-- <span class="txt">喜欢</span>--> <!-- <span class="untxt">取消喜欢</span>--> <!-- </button>--> <!-- </li>--> <li> <button class="left-fixed-btn csdn-tracking-statistics" data-mod="popu_374" id="com-quick-collect" target="_self"> <a href="javascript:void(0);" class="iconbox border_purple"><i class="icon iconfont icon-shoucang"></i></a> </button> </li> <li> <button class="left-fixed-btn btn-pinglun csdn-tracking-statistics" data-mod="popu_544" > <a href="javascript:void(0);" class="iconbox border_purple"><i class="icon iconfont icon-pinglun"></i></a> </button> </li> <li id="share_box"> <button class="left-fixed-btn csdn-tracking-statistics" data-mod="popu_375" target="_self"> <a href="javascript:void(0);" class="iconbox border_orange"><i class="icon iconfont icon-fenxiang"></i></a> </button> <div class="bdsharebuttonbox csdn-tracking-statistics" data-mod="popu_172"> <div class="outside"> <span class="iconbox border_red2"><i class="icon iconfont icon-xinlang"></i></span> <a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"> </a> </div> <div class="outside"> <span class="iconbox border_green"><i class="icon iconfont icon-weixin"></i></span> <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"> </a> </div> <div class="outside"> <span class="iconbox border_blue"><i class="icon iconfont icon-QQ"></i></span> <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"> </a> </div> </div> </li> </ul> </div> <div class="right_fixed"> <div class="r_ico"> <i class="icon iconfont icon-jubao"></i> <span class="txt" id="reportBtn">内容举报</span> </div> <div class="returnTop"> <i class="icon iconfont icon-fanhuidingbu"></i> <span>返回顶部</span> </div> </div> <div id="pop_win"></div> <div id="popup_mask"></div> <div class="pop_CA_cover" ></div> <div class="pop pop_CA" > <div class="CA_header"> 收藏助手 <span class="cancel_icon" id="fapancle" ></span> </div> <iframe src="" id="collectIframe" frameborder="0" width="100%" height="360" scrolling="no" ></iframe> </div> <!--举报--> <div id="report_dialog" style="top: 250px; left: 343.5px;"><div id="panel_report"> <div class="panel_head">不良信息举报</div> <form method="post" id="frmReport" class="panel_body"> <table border="0" cellpadding="0" cellspacing="4" class="pop_table"> <tbody><tr><td colspan="2">您举报文章:<a href="http://blog.csdn.net/psyl/article/details/813426" target="_blank">JDK常用命令详解</a></td></tr> <tr> <th style="width:60px;">举报原因:</th> <td id="panel_reporttype"> <label><input type="radio" class="report_type" id="report_sex" name="report_type" value="1">色情</label> <label><input type="radio" class="report_type" id="report_Politics" name="report_type" value="2">政治</label> <label><input type="radio" class="report_type" id="report_copy" name="report_type" value="3">抄袭</label> <label><input type="radio" class="report_type" id="report_ad" name="report_type" value="4">广告</label> <label><input type="radio" class="report_type" id="report_want" name="report_type" value="5">招聘</label> <label><input type="radio" class="report_type" id="report_call" name="report_type" value="6">骂人</label> <br> <label><input type="radio" class="report_type" id="report_other" name="report_type" value="7">其他</label> <input type="text" name="report_other_content" id="report_other_content" maxlength="30" style="display: none;"> </td> </tr> <tr id="panel_originalurl" style="display: none;"> <th>原文地址:</th> <td> <input id="originalurl" value="http://" name="originalurl" type="text" style="width: 90%;"> </td> </tr> <tr> <th id="sp_reason">原因补充:</th> <td> <textarea id="report_description" style="width: 300px;" rows="3" name="report_description"></textarea> <p id="sp_n" style="color:#999;margin:0px;padding:0px;">(最多只允许输入30个字)</p> </td> </tr> <tr> <td></td> <td> <input id="btnSubmitReport" name="submit" type="image" align="middle" class="btn_1" src="http://static.blog.csdn.net/images/btn_submit.jpg"> <span style="padding-left:20px;"></span> <img id="btnCloseReportDialog" src="http://static.blog.csdn.net/images/btn_cancel.jpg" align="middle"> <div id="error" style="color: Red"> </div> </td> </tr> </tbody></table> </form> </div> <script language="javascript" type="text/javascript"> var isComment=0; //显示隐藏地址 $(function () { console.log("version:phoenix"); if(isComment){ $("#report_description").attr("disabled",true); $("#sp_n").hide(); $("#sp_reason").html("评论内容:"); } $(".report_type").click(function () { $("#panel_originalurl,#report_other_content").hide(); switch ($(this).val()) { case '3': $("#panel_originalurl").show(); $("#originalurl").focus(); break; case '7': if(isComment){ $("#report_other_content").show().focus(); } break; } }); $("#frmReport").submit(function () { if (!currentUserName) { if (confirm("您的操作必须登录,是否登录?")) { location.href = "http://passport.csdn.net/account/login?from=" + encodeURIComponent(location.href); return false; } return false; } var reportType = $("input[name=report_type]:checked").val(); if(!reportType){ alert("请选择举报原因!"); return false; } var otherInfo = ""; switch (reportType) { case '3': otherInfo = $("#originalurl").val(); if (otherInfo == ""||otherInfo=="http://") { alert("举报抄袭必须提供原创文章地址!"); $("#originalurl").focus(); return false; } else if(!checkeURL(otherInfo)) { alert("请输入正确的原创文章地址!"); $("#originalurl").focus(); return false; } break; case '7': otherInfo = $("#report_other_content").val(); if (isComment && !otherInfo) { alert("请填写举报的具体原因!"); $("#report_other_content").focus(); return false; } if(!isComment){ if(!$("#report_description").val()){ alert("请填写举报的具体原因!"); $("#report_description").focus(); return false; } } break; } if(!isComment){ if($("#report_description").val().length>30){ alert("举报原因最多只允许输入30个字!"); return false; } } nowTime = { year: new Date().getFullYear(), month: parseInt(new Date().getMonth())+1, day: new Date().getDate(), hours: parseInt(new Date().getHours())+1, minutes: parseInt(new Date().getMinutes())+1, seconds: parseInt(new Date().getSeconds())+1 }; var data = { articleId: fileName, commentId: 0, reportType: reportType, originalurl: $("#originalurl").val(), report_other_content: $("#report_other_content").val(), report_description: $("#report_description").val(), currentUserName: currentUserName, updatetime: nowTime.year+'/'+nowTime.month+'/'+nowTime.day+' '+ nowTime.hours+':'+nowTime.minutes+':'+seconds, blogUser: username }; if(!isComment){//如果是举报文章 data.report_other_content = data.report_description; // data.report_description = "1. 神经网络这是一个常见的神经网络的图:这是一个常见的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层"; } $.post(blog_address + "/common/report?id="+fileName+"&t=2", data, function (data) { if (data.result == 1){ SetError("感谢您的举报,我们会尽快审核!"); }else{ if (data.content) alert(data.content); } }); return false; }); $("#btnCloseReportDialog").click(function () { CloseDiv(); }); }); //提示后关闭方法 function SetError(error) { $("#btnCloseReportDialog").trigger("click"); alert(error); CloseDiv(); } //关闭方法 function CloseDiv() { $.removeMask(); $("#report_dialog").hide(); return false; } //验证url function checkeURL(url){ return /^http(s)?:\/\/([\w-]+\.)+[\w-]+/i.test(url); } </script> </div> <script src="http://c.csdnimg.cn/public/common/libs/bootstrap/js/bootstrap.min.js" type="text/javascript"></script> <script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script> <script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.js"></script> <script type="text/javascript" src="http://static.blog.csdn.net/Skin/skin3-template/js/blog_ver.js?v=2017.044"></script> <script type="text/javascript" src="http://static.blog.csdn.net/Skin/skin3-template/js/skin2017.js?v=2017.048"></script> <script type="text/javascript" src="http://static.blog.csdn.net/scripts/cnick.js"></script> <script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script> <script type="text/javascript" > if($(".article_collect li").length==1){$(".article_collect").hide();} if($(".article_tags li").length==1){$(".article_tags").hide();} $(".edit a").attr("href","http://write.blog.csdn.net/postedit/"+fileName); $.each($(".edu_li a"),function(){$(this).attr("href",$(this).attr("href").replace("blog7","blog9"))}); new CNick('#uid').showNickname(); if($("#fan").html()=="") { $("#fan").html(0); } </script> <script src="http://c.csdnimg.cn/public/common/append_mark/appendMark.min.js?v=5.00.43" type="text/javascript"></script> <script type="text/javascript"> appendMark($('.recommend_list').children('a').find('dt'),$('.extension_other')) </script> </body>