Сбой плагина Gradle Antlr Не удалось инициализировать класс org.antlr.tool.ErrorManager с помощью Antlr 3.5.2 - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь запустить исходный код из файлов грамматики Antlr v3 из более старого проекта, ранее созданного с помощью плагина Antlr Eclipse.Я пытался использовать плагин Gradle Antlr и пытался использовать последний jar antlr 3 в качестве зависимости (3.5.2).Моя среда Mac OSX, и я использую Java 8.

В моем build.gradle у меня есть

apply plugin: 'antlr'

dependencies {
  antlr "org.antlr:antlr:3.5.2"
  antlr group:'org.antlr', name: 'ST4', version: '4.1'
}

Выполнение задачи generateGrammarSource приводит к ошибке:

Ошибказапустить Gradle ANTLR Worker Не удалось инициализировать класс org.antlr.tool.ErrorManager

опция --stacktrace имеет ошибку инициализации класса для этого класса

Причина: java.lang.NoClassDefFoundError: Не удалось инициализировать класс org.antlr.tool.ErrorManager в org.antlr.Tool.process (Tool.java:426) в org.gradle.internal.reflect.JavaMethod.invoke (JavaMethod.java:73).в org.gradle.api.plugins.antlr.internal.AntlrExecuter $ Antlr3Tool.invoke (AntlrExecuter.java:72) в org.gradle.api.plugins.antlr.internal.AntlrExecuter $ AntlrTool.do143: Antlrв org.gradle.api.plugins.antlr.internal.AntlrExecuter $ AntlrTool.process (AntlrExecuter.java:113) в org.gradle.api.plugins.antlr.internal.AntlrExecuter.runAntlr (AntlrExecuter) или.gradle.process.internal.worker.request.WorkerAction.run (WorkerAction.java:100) в org.gradle.process.internal.worker.request.WorkerAction.runThenStop (WorkerAction.java:83) ... еще 8

Iне найдено подобных ошибок, и, глядя на источник ErrorManager, неясно, что это за ошибка.

1 Ответ

0 голосов
/ 05 марта 2019

Кажется, я решил это самостоятельно, добавив еще одну зависимость от antlr-runtime в файл build.gradle

dependencies {
  antlr "org.antlr:antlr:3.5.2"
  antlr "org.antlr:antlr-runtime:3.5.2"
  antlr group:'org.antlr', name: 'ST4', version: '4.1'
}
...