摘自http://blog.csdn.net/hudashi/article/details/7058999
javac命令详解(下)
-verbose
冗长输出。开启该参数,你将看到编译器编译java源码的详细过程。
比如,示例13:
D:\project\test>javac -cp lib\Util.zip -sourcepath src -verbose -d classes src\c
om\robin\*.java
[parsing started src\com\robin\Hello.java]
[parsing completed 31ms]
[parsing started src\com\robin\People.java]
[parsing completed 0ms]
[search path for source files: src]
[search path for class files: C:\jdk1.6.0\jre\lib\resources.jar,C:\jdk1.6.0\jre\
lib\rt.jar,C:\jdk1.6.0\jre\lib\sunrsasign.jar,C:\jdk1.6.0\jre\lib\jsse.jar,C:\jd
k1.6.0\jre\lib\jce.jar,C:\jdk1.6.0\jre\lib\charsets.jar,C:\jdk1.6.0\jre\classes,
C:\jdk1.6.0\jre\lib\ext\dnsns.jar,C:\jdk1.6.0\jre\lib\ext\localedata.jar,C:\jdk1
.6.0\jre\lib\ext\sunjce_provider.jar,C:\jdk1.6.0\jre\lib\ext\sunmscapi.jar,C:\jd
k1.6.0\jre\lib\ext\sunpkcs11.jar,lib\Util.zip]
[loading src\com\hubin\Util.java]
[parsing started src\com\hubin\Util.java]
[parsing completed 0ms]
[loading java\lang\Object.class(java\lang:Object.class)]
[loading java\lang\String.class(java\lang:String.class)]
[checking com.robin.Hello]
[loading java\lang\Thread.class(java\lang:Thread.class)]
[wrote classes\com\robin\Hello.class]
[checking com.robin.People]
[wrote classes\com\robin\People.class]
[checking com.hubin.Util]
[wrote classes\com\hubin\Util.class]
[total 578ms]
D:\project\test>javac -cp lib\Util.zip -sourcepath src -verbose -d classes src\com\robin\*.java
[parsing started src\com\robin\Hello.java]
[parsing completed 16ms]
[parsing started src\com\robin\People.java]
[parsing completed 0ms]
[search path for source files: src]
[search path for class files: C:\jdk1.6.0\jre\lib\resources.jar,C:\jdk1.6.0\jre\
lib\rt.jar,C:\jdk1.6.0\jre\lib\sunrsasign.jar,C:\jdk1.6.0\jre\lib\jsse.jar,C:\jd
k1.6.0\jre\lib\jce.jar,C:\jdk1.6.0\jre\lib\charsets.jar,C:\jdk1.6.0\jre\classes,
C:\jdk1.6.0\jre\lib\ext\dnsns.jar,C:\jdk1.6.0\jre\lib\ext\localedata.jar,C:\jdk1
.6.0\jre\lib\ext\sunjce_provider.jar,C:\jdk1.6.0\jre\lib\ext\sunmscapi.jar,C:\jd
k1.6.0\jre\lib\ext\sunpkcs11.jar,lib\Util.zip]
[loading src\com\hubin\Util.java]
[parsing started src\com\hubin\Util.java]
[parsing completed 0ms]
[loading java\lang\Object.class(java\lang:Object.class)]
[loading java\lang\String.class(java\lang:String.class)]
[checking com.robin.Hello]
[wrote classes\com\robin\Hello.class]
[checking com.robin.People]
[wrote classes\com\robin\People.class]
[checking com.hubin.Util]
[wrote classes\com\hubin\Util.class]
[total 172ms]
D:\project\test>javac -cp lib-classes -sourcepath src -verbose -d classes src\com\robin\*.java
[parsing started src\com\robin\Hello.java]
[parsing completed 47ms]
[parsing started src\com\robin\People.java]
[parsing completed 0ms]
[search path for source files: src]
[search path for class files: C:\jdk1.6.0\jre\lib\resources.jar,C:\jdk1.6.0\jre\
lib\rt.jar,C:\jdk1.6.0\jre\lib\sunrsasign.jar,C:\jdk1.6.0\jre\lib\jsse.jar,C:\jd
k1.6.0\jre\lib\jce.jar,C:\jdk1.6.0\jre\lib\charsets.jar,C:\jdk1.6.0\jre\classes,
C:\jdk1.6.0\jre\lib\ext\dnsns.jar,C:\jdk1.6.0\jre\lib\ext\localedata.jar,C:\jdk1
.6.0\jre\lib\ext\sunjce_provider.jar,C:\jdk1.6.0\jre\lib\ext\sunmscapi.jar,C:\jd
k1.6.0\jre\lib\ext\sunpkcs11.jar,lib-classes]
[loading lib-classes\com\hubin\Util.class]
[loading java\lang\Object.class(java\lang:Object.class)]
[loading java\lang\String.class(java\lang:String.class)]
[checking com.robin.Hello]
[wrote classes\com\robin\Hello.class]
[checking com.robin.People]
[wrote classes\com\robin\People.class]
[total 656ms]
非标准选项
-X
使用该参数,可以显示所有的非标准选项的有关信息。
示例14:
C:\Documents and Settings\hubin>javac -X
-Xlint Enable recommended warnings
-Xlint:{all,cast,deprecation,divzero,empty,unchecked,fallthrough,path,serial,f
inally,overrides,-cast,-deprecation,-divzero,-empty,-unchecked,-fallthrough,-pat
h,-serial,-finally,-overrides,none}Enable or disable specific warnings
-Xbootclasspath/p:<path> Prepend to the bootstrap class path
-Xbootclasspath/a:<path> Append to the bootstrap class path
-Xbootclasspath:<path> Override location of bootstrap class files
-Djava.ext.dirs=<dirs> Override location of installed extensions
-Djava.endorsed.dirs=<dirs>Override location of endorsed standards path
-Xmaxerrs <number> Set the maximum number of errors to print
-Xmaxwarns <number> Set the maximum number of warnings to print
-Xstdout <filename> Redirect standard output
-Xprint Print out a textual representation of specified typ
es
-XprintRounds Print information about rounds of annotation proces
sing
-XprintProcessorInfo Print information about which annotations a process
or is asked to process
-Xprefer:{source,newer} Specify which file to read when both a source file
and class file are found for an implicitly compiled class
These options are non-standard and subject to change without notice.
-Xline:{关键字列表}
通过该命令我们将看到你java源码文件的一些危险代码,关键字有:{all,cast,deprecation,divzero,empty,unchecked,fallthrough,path,serial,f
inally,overrides,-cast,-deprecation,-divzero,-empty,-unchecked,-fallthrough,-path,-serial,-finally,-overrides,none},没有"-"前缀的表示开启,有的该前缀的表示关闭,all表示开启所有,none表示都不开启。
示例16:
D:\project\test>javac -cp lib\Util.zip -sourcepath src -Xlint:all -d classes src\com\robin\*.java
src\com\robin\Hello.java:11: warning: [deprecation] destroy() in java.lang.Threa
d has been deprecated
t.destroy();
^
src\com\robin\Hello.java:12: warning: [divzero] division by zero
int i=1/0;
^
2 warnings
-Xstdout <filename>
javac命令信息输出流的默认将在当前控制台进行显示,我们可以用该参数进行重新定义。
比如,示例17:
D:\project\test>javac -cp lib\Util.zip -sourcepath src -verbose -Xstdout 1.log -
d classes src\com\robin\*.java
这样我们在1.log文件中将看到;
[parsing started src\com\robin\Hello.java]
[parsing completed 16ms]
[parsing started src\com\robin\People.java]
[parsing completed 0ms]
[search path for source files: src]
[search path for class files: C:\jdk1.6.0\jre\lib\resources.jar,C:\jdk1.6.0\jre\lib\rt.jar,C:\jdk1.6.0\jre\lib\sunrsasign.jar,C:\jdk1.6.0\jre\lib\jsse.jar,C:\jdk1.6.0\jre\lib\jce.jar,C:\jdk1.6.0\jre\lib\charsets.jar,C:\jdk1.6.0\jre\classes,C:\jdk1.6.0\jre\lib\ext\dnsns.jar,C:\jdk1.6.0\jre\lib\ext\localedata.jar,C:\jdk1.6.0\jre\lib\ext\sunjce_provider.jar,C:\jdk1.6.0\jre\lib\ext\sunmscapi.jar,C:\jdk1.6.0\jre\lib\ext\sunpkcs11.jar,lib\Util.zip]
[loading com\hubin\Util.class(com\hubin:Util.class)]
[loading java\lang\Object.class(java\lang:Object.class)]
[loading java\lang\String.class(java\lang:String.class)]
[checking com.robin.Hello]
[wrote classes\com\robin\Hello.class]
[checking com.robin.People]
[wrote classes\com\robin\People.class]
[total 204ms]
-Xmaxerrs <number>
设置最多显示多少条编译错误
-Xmaxwarns <number>
设置最多显示多少条编译警告
其他一些Xlint选项暂时还不知道什么意思,一般也用得比较少,就打住了。
-J选项
将选项传给 javac 调用的 java 启动器。例如, -J-Xms48m 将启动内存设为 48 兆字节。虽然它不以 -X 开头,但它并不是 javac 的‘标准选项’。用 -J 将选项传给执行用 Java 编写的应用程序的虚拟机是一种公共约定。
其他一些javac命令选项暂时还不知道什么意思,一般也用得比较少,就打住了。
另外附前面的示例所用的java源码文件:
src\com\robin\Hello.java文件
package com.robin;
import com.hubin.Util;
public class Hello{
native String getHelloStringFromJni();
People p=new People();
final static String str=Util.getString();
Hello()
{
Thread t=null;
t.start();
t.destroy();
int i=1/0;
long l=10;
int n=(int)l;
}
}
src\com\robin\Peole.java文件
package com.robin;
public class People
{
String name;
}
src\com\hubin\Util.java文件
package com.hubin;
public class Util{
public final static String getString()
{
return "Hi";
}
}
- javac命令详解(上)
摘自http://blog.csdn.net/hudashi/article/details/7058998 javac命令详解(上) ja ...
- Linux常用命令详解下
Linux常用命令详解 目录 一.Linux常用命令 1.1.查看及切换目录(pwd.cd.ls.du) 1.2.创建目录和文件(mkdir.touch.ln) 1.3.复制.删除.移动目录和文件(c ...
- JAVAC 命令详解(转)
本文来自:http://www.cnblogs.com/JeffChen/archive/2008/01/16/1041783.html 结构 javac [ options ] [ sourcefi ...
- JAVAC 命令详解
转自:http://jeffchen.iteye.com/blog/395671 结构 javac [ options ] [ sourcefiles ] [ @files ] 参数可按任意次序排列. ...
- 6、javac命令详解
javac [ options ] [ sourcefiles ] [ @files ] 参数可按任意次序排列. options 命令行选项. sourcefiles 一个或多个要编译的源文件(例如 ...
- Linux主要shell命令详解(下)
命令行编辑操作 功能 Ctrl+b或左箭头键 左移一个字符(移至前一个字符) Ctrl+f或右箭头键 右移一个字符(移至后一个字符) Ctrl+a 移至行首 Ctrl+e 移至行尾 Esc b 左移一 ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Linux下的压缩zip,解压缩unzip命令详解及实例
实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...
- Linux下的压缩解压缩命令详解
linux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o - ...
随机推荐
- jumpGate部署
preface statement: manageing OpenStack & SoftLayer resource with Jumpgate 1,forward; Imagine a w ...
- 集成支付宝SDK遇到的坑
一.首先我先把集成过程说一下.小编想说的话:支付宝是我做支付中觉得坑最多的一个,各种编译不过,各种出问题. 废话不多说,进入主题:1.首先当前是下载官方SDK啦,当前你也可以通过cocopods进行导 ...
- 对于Android Service 生命周期进行全解析
应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激 活状态:对于活动,对用户有时候可见,有时候不可见.组件生命周 ...
- Duanxx的STM32学习: STM32的存储映射
- [core java学习笔记][第十一章异常断言日志调试]
第11章 异常,断言,日志,调试 处理错误 捕获异常 使用异常机制的技巧 使用断言 日志 测试技巧 GUI程序排错技巧 使用调试器 11.1 处理错误 11.1.1异常分类 都继承自Throwable ...
- NET基础课--开发工具实用功能
1.浏览代码结构 类视图 2.重构功能 提取长的的方法体中的部分方法到单独函数中 路径:选择代码段,右击重构----提取方法 3.代码结构 a 代码对齐 点[编辑]-[高级]-[设置选定内容的格式] ...
- 《JavaScript 闯关记》之基本包装类型
为了便于操作基本类型值,JavaScript 还提供了3个特殊的引用类型:Boolean.Number 和 String.实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象 ...
- VS2010程序打包操作(超详细的)
1. 在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...
- git merge的recursive策略和merge-base
git的合并策略总共有3种,一种是resovle,一种是recursive,一种是octopus.其中resolve和recursive适用于合并2个branch,octopus适用于合并3个或者3个 ...
- tomcat7.0的源码下载
如果想知道servlet的HttpServlet的实现细节,想知道jsp的org.apache.jasper.runtime.HttpJspBase的实现细节,想知道tomcat关于servlet和j ...