2016-02-18 2 views
0

При запуске javac с обработчиком аннотаций и поврежденным банком в ваших ошибках java-пути в classpath, но возвращает 0 в качестве кода ошибки (0 означает, что он запускался без каких-либо ошибок). Если вы выполняете ту же команду без обработчика аннотаций, она возвращает 1 в качестве кода ошибки. Таким образом, добавление аннотацииПроцессор убирает код ошибки.javac, возвращающий неправильный код ошибки с обработчиком аннотаций

ниже пример вывод:

running compile with a corrupted jar 
error: error reading corruptedJar.jar; error in opening zip file 
Using Test AnnotationProcessor 
Error level 0 
running compile without the corrupted jar 
Using Test AnnotationProcessor 
Error level 0 
running compile without the annotationProcessor but with the corrupted jar 
error: error reading corruptedJar.jar; error in opening zip file 
1 error 
Error level 1 

файл летучей мыши я использовал для запуска выше из пут является

@echo off 
echo running compile with a corrupted jar 
javac -cp annotationProcessor.jar;corruptedJar.jar HelloWorld.java 
echo Error level %errorlevel% 
echo running compile without the corrupted jar 
javac -cp annotationProcessor.jar HelloWorld.java 
echo Error level %errorlevel% 
echo running compile without the annotationProcessor but with the corrupted jar 
javac -cp corruptedJar.jar HelloWorld.java 
echo Error level %errorlevel% 

Я отсутствует параметр, или это ошибка в JAVAC что возврат неправильного уровня ошибки?

редактировать ..

исходный код для всего https://gist.github.com/ludjer/570708438dbcb3f08106

annotationProcessor.jar имеет один класс в нем называется AnnotationProcessor

corruptedJar.jar является коррумпированной почтовый файл (технически может быть любой не zip-файл для тестовой шахты был текстовым файлом с переименованным расширением)

ответ

Смежные вопросы