调用编译器编译牛
2021-09-06 12:17 来源:璧山县养生网
如果没有编译警告和错误,这个call() 方法会编译所有的 compilationUnits 变量指定的文件,以及有依赖关系的可编译的文件. 想要知道是否所有的都成功了,去查看一下返回的 Boolean 值. 只有当所有的编译单元都执行成功了,这个 call() 方法才返回 UE . 一旦有任何错误,这个方法就会返回 LSE. 在展示运行这个例子之前,让我们添加最后一个东西,DiagnosticListener, 或者更确切的说, DiagnosticCollector.的实现类.把这个监听器当作getTask()的第三个参数传递进去,你就可以在编译之后进行一些调式信息的查询了.
for (Diagnostic diagnostic : tDiagnostics()) {
nsole().printf(
\"Code: %s%n\" +
\"Kind: %s%n\" +
\"Position: %s%n\" +
\"Start Position: %s%n\" +
\"End Position: %s%n\" +
\"Source: %s%n\" +
\"Message: %s%n\",
前期提示过由于私募债和信托的刚性兑(百科)付被打破、外汇市场的套利空间在不断压缩、房地产投资(百科)收益将逐步萎缩等因素影响 tCode(), tKind(),
tPosition(), tStartPosition(),
tEndPosition(), tSource(),
tMessage(null));
}
在最后,你应该调用管理器的close() 方法.
把所有的放在一起,就得到的了下面的程序,让我们重新编译Hello类.
import .*;
import il.*;
import ols.*;
public class BigCompile {
public static void main(String args[]) throws IOException {
JavaCompiler compiler = tSystemJavaCompiler();
DiagnosticCollector diagnostics =
new DiagnosticCollector();
StandardJavaFileManager fileManager =
tStandardFileManager(diagnostics, null, null);
Iterable? extends JavaFileObject compilationUnits =
tJavaFileObjectsFromStrings(List(\"va\"));
pilationTask task = tTask(
null, fileManager, diagnostics, null, null, compilationUnits);
Boolean success = ll();
for (Diagnostic diagnostic : tDiagnostics()) {
nsole().printf(
\"Code: %s%n\" +
\"Kind: %s%n\" +
\"Position: %s%n\" +
\"Start Position: %s%n\" +
\"End Position: %s%n\" +
\"Source: %s%n\" +
\"Message: %s%n\",
tCode(), tKind(),
tPosition(), tStartPosition(),
tEndPosition(), tSource(),
tMessage(null));
}
ose();
intln(\"Success: \" + success);
}
}
编译和运行这个程序会输出成功的信息:
javac va
java BigCompile
Success: true
然而,如果你把 println 方法改成书写错误的 pritnln 方法,当你运行时你会得到下面的信息:
java BigCompile
Code: cation
Kind: ERROR
Position: 80
Start Position: 70
End Position: 88
Source: va
Message: va:3: cannot find symbol
symbol : method pritnln(ring)
location: class intStream
Success: false
使用Compiler API,你可以实现比在这篇简要的提示介绍的更多的事情. 例如,你可以控制输入输出的目录或者在集成编译器里高亮一些编译错误. 现在,向 Java Compiler API表示感谢,你可以使用标准API了. For more information on the Java Compiler API and JSR 199, see the JSR 199 specification.
查看本文来源
西安男科较好医院昆明治白癜风专科医院
南宁医院哪家男科医院好
-
(中国这十年·系列主题新闻发布)连续迈上新台阶,我国外贸十年交出可圈可点答卷
从新华社北京5月底20日电(采访邹多为、胡锐)从2012年的24.4万亿元到2021年的39.1万亿元,党在的十八大以来,今后货物贸易往来总量不断跃升,自2017年起将近十年5年世界性各地第一,货物与公共服务贸易往来总量...
-
强强携手 推动电影全国高校
[新闻页-台海网] 台海网6月初13日讯(通讯员 王志鹏 欧阳桂莲 美联社 梁静)已对,南京大学与檀香山利物浦大学缔结校际合作关系备忘录,两校将在社会科学协作、师生交流对等、基础教育和社会服务等全面性积...
-
农村其貌不扬的野菜,是民间暗藏的AL,营养价值不容小觑
野山芋是一种其貌不扬的饭菜,但是他却是民俗暗藏的珍宝,肉类绝无小觑,它不仅有实用价值,还有极为大的药用价值。野山芋极为容易生存,它掺入极为丰富的营养元素,其之中掺入极为多钙和矿物质,可以可...
-
法考客观题报名全步骤!附详细截图参考,一次过!
6月16日,2022法考普遍性所撰将在此之前掀开参赛选手,或许大多数鸡仔仍然是一头雾水,无可奈何该如何转换。 别急,合合菌送去上次参赛选手的详细处理过程相片来啦!每年参赛选手处理过程大致相同,鸡仔们...
-
看女星如何装饰邻居:方媛爱鲜花,熊黛林喜绿植,李嘉欣重设计
一个精心接手过的家往往能给人促使整洁的环境和愉悦的心态,却是电影演员当然非常注重家居的设计和创造,让我们;也想到电影演员是如何装饰性邻居的呢?以3位新加坡女星为例,大宝嫂方媛、女明星演员熊...
-
吴彦祖近照曝光,妻女妻女参加首映礼,女儿打耳洞染红发好有个性
近来,陈彦祖携妻子Lisa和妹妹陈斐然参加《东北部世界》第四季首映式。陈彦祖装扮金色西装搭配白衬衣十分低调。妻子装扮简约金色礼服头踩金色高跟鞋。妹妹陈斐然穿着嫩粉色上衣搭配金色裙子。值得注意的...