博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有关java的编译过程-类文件存在词法或语法错误时
阅读量:4030 次
发布时间:2019-05-24

本文共 3059 字,大约阅读时间需要 10 分钟。

总结

1)当java类文件中存在语法或词法错误时,在编译过程中的第一步(解析文件)就会中断;

2)到了语法分析阶段,一处发现错误,并不会中断,即我们会看到多个出错的提示信息;

注意:有时候自动化提示出错脚本需要注意第一种情况的存在;

简单示例:类编译过程

[解析开始时间 HelloWorld.java][解析已完成时间 10ms][源文件的搜索路径: .,/home/luogw/dev-tool/jdk/jdk1.6.0_34/lib][类文件的搜索路径: /home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/resources.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/rt.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/sunrsasign.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/jsse.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/jce.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/charsets.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/modules/jdk.boot.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/classes,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/localedata.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/dnsns.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/sunjce_provider.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/sunpkcs11.jar,.,/home/luogw/dev-tool/jdk/jdk1.6.0_34/lib][正在装入 java/lang/Object.class(java/lang:Object.class)][正在装入 java/lang/String.class(java/lang:String.class)][正在检查 HelloWorld][正在装入 java/lang/System.class(java/lang:System.class)][正在装入 java/io/PrintStream.class(java/io:PrintStream.class)][正在装入 java/io/FilterOutputStream.class(java/io:FilterOutputStream.class)][正在装入 java/io/OutputStream.class(java/io:OutputStream.class)][已写入 HelloWorld.class][总时间 101ms]

简单示例:存在语法错误的情况

luogw@ubuntu:~/temp$ javac -verbose HelloWorld.java [解析开始时间 HelloWorld.java]HelloWorld.java:3: 需要 ';'		int error		         ^[解析已完成时间 13ms][总时间 25ms]1 错误

简单示例:存在两处语义错误的情况

luogw@ubuntu:~/temp$ javac -verbose HelloWorld.java [解析开始时间 HelloWorld.java][解析已完成时间 11ms][源文件的搜索路径: .,/home/luogw/dev-tool/jdk/jdk1.6.0_34/lib][类文件的搜索路径: /home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/resources.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/rt.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/sunrsasign.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/jsse.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/jce.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/charsets.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/modules/jdk.boot.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/classes,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/localedata.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/dnsns.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/sunjce_provider.jar,/home/luogw/dev-tool/jdk/jdk1.6.0_34/jre/lib/ext/sunpkcs11.jar,.,/home/luogw/dev-tool/jdk/jdk1.6.0_34/lib][正在装入 java/lang/Object.class(java/lang:Object.class)][正在装入 java/lang/String.class(java/lang:String.class)][正在检查 HelloWorld][正在装入 java/lang/System.class(java/lang:System.class)][正在装入 java/io/PrintStream.class(java/io:PrintStream.class)][正在装入 java/io/FilterOutputStream.class(java/io:FilterOutputStream.class)][正在装入 java/io/OutputStream.class(java/io:OutputStream.class)]HelloWorld.java:5: 找不到符号符号: 方法 error1()位置: 类 HelloWorld		new HelloWorld().error1();		                ^HelloWorld.java:6: 找不到符号符号: 方法 error2()位置: 类 HelloWorld		new HelloWorld().error2();		                ^[总时间 99ms]2 错误

转载地址:http://vombi.baihongyu.com/

你可能感兴趣的文章
什么是POC
查看>>
标记一下
查看>>
一个ahk小函数, 实现版本号的比较
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习笔记4——猜数字游戏,随机数
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
学习设计模式(5)——装饰器模式
查看>>
学习设计模式(6)——建造者模式
查看>>
rep movsd ,N - move all of our dwords--【解决办法】
查看>>
查找连续相同值的算法,并给出连续相同值的个数以及位置
查看>>
关于STL中的Vector,list和deque
查看>>
错误:常量中有换行符
查看>>
学习设计模式(8)——单例模式2
查看>>
学习算法(1)——2分查找法
查看>>
github入门指南
查看>>
Import GPG key in CentOS 7
查看>>
CentOS7挂载windows下的共享文件夹
查看>>