摘自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 - ...
随机推荐
- vs2008如何创建DLL和使用DLL
一 动态库的编译 文件->新建->项目 选择下一步:然后在应用程序类型里选择DLL 在test项目的头文件里加上test.h;并添加下列代码 在test.cpp里增加如下代码 然后F7编译 ...
- 最详细的 HTTPS 科普扫盲帖
为什么需要https HTTP是明文传输的,也就意味着,介于发送端.接收端中间的任意节点都可以知道你们传输的内容是什么.这些节点可能是路由器.代理等. 举个最常见的例子,用户登陆.用户输入账号,密码, ...
- JQuery 选择器 *很重要 多记
1)基本选择器: 跟CSS选择器类似 2) 层次选择器 div>span 紧接这div同一级下的全部span .one+div 同一等级的div #two~div 同一等级di ...
- C++第15周(春)项目3 - OOP版电子词典(一)
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759.内有完整教学方案及资源链接 [项目3-OOP版电子词典](本程序中须要的相 ...
- LabVIEW新手5大错误
虽然NI LabVIEW软件长期以来一直帮助工程师和科学家们快速开发功能测量和控制应用,但不是所有的新用户都会遵循LabVIEW编程的最佳方法. LabVIEW图形化编程比较独特,因为只需看一眼用户的 ...
- EffectiveC#18--用IComparable和IComparer实现对象的顺序关系
1..Net框架提供了接口来描述对象的顺序关系:IComparable 和IComparer. 2.IComparable 为类定义了自然顺序,实现IComparer接口的类可以描述其它可选的顺序 3 ...
- iOS 证书错误 Certificates下面的 App Store and Ad Hoc是灰的?? 点不了
原因 因为一个用户名下只能同时有一个发布证书,你之前建立了某个证书并且没有使用的话就无法再创建了,先把它撤销或者使用后才可以继续创建新的
- java开发webservice
第一部分:相关下载配置 1.开发环境 eclipse-jee-mars-2-win32-x86_64.zip http://www.eclipse.org/downloads/index-pac ...
- Autorelease Pool-自动释放池
Autorelease Pool是Objective-C中的内存管理方式之一,它与线程和NSAutorelease类有关.每一个线程都拥有自己的Autorelease Pool栈,这个栈底层是由双向链 ...
- Virtual Environments
virtualenv 再另一篇随笔中已经提到过virtualenv.如果我们有好几个不同的项目,他们需要的第三方包版本不同,那怎么办呢.这时候就需要virtualenv创建一个虚拟环境,里面包含了一个 ...