При запуске 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-файл для тестовой шахты был текстовым файлом с переименованным расширением)