UT7 Ответов: 2

"Не удалось найти или загрузить основной класс javacc" (в установке javacc 7.0.9)


Всем привет, пожалуйста, мне нужна ваша помощь с установкой javacc (Ява компилятор компиляторов). Я скачал последнюю версию (7.0.9) с сайта JavaCC | самый популярный генератор парсеров для использования С Java-приложениями.[^] распаковал его, скопировал файлы в каталог, где java (jdk1.8.0_201 и jre1.8.0_261) установлены на моей машине. Я переименовал папку в javacc.jar как указано на сайте выше, скопировал путь к каталогу скрипта (в этой версии нет папки bin) и добавил его в переменную окружения. Но когда я запустил команду javacc из своего терминала я получил эту ошибку -
"Could not find or load main class javacc"
Пожалуйста, как я могу заставить javacc 7.0.9 работать на моей машине? Я использую ноутбук с Windows 8.1. Кроме того, команда java и javac из моего терминала работает гладко на моей машине. Спасибо за любую помощь.

Что я уже пробовал:

команда javacc из терминала - ошибка: не удалось загрузить или найти основной класс
команда java из терминала - работает нормально
команда javac из терминала - работает нормально

Richard MacCutchan

Какую именно команду вы набрали на консоли?

UT7

@Richard MacCutchan, команда, которую я использовал в своей консоли, - это javacc

2 Ответов

Рейтинг:
19

Sandeep Mewara

Возможно, Вам не хватает ссылки на JavaCC в переменной system path.

Цитата:
Загрузка должна была поместить в вашу файловую систему либо ZIP-файл, либо GZIP-файл, содержащий программное обеспечение JavaCC. Вы должны перейти в каталог, где был установлен архив, и распаковать его содержимое. На этом ваша установка завершена.

После завершения установки, добавьте каталог bin в рамках установки JavaCC в свой путь В этом каталоге находятся сценарии/исполняемые файлы вызова javacc, jjtree и jjdoc.


смотреть на: Как установить или изменить системную переменную PATH?[^]

Обратитесь к аналогичному вопросу, обсуждаемому здесь: jar - начало работы с JavaCC[^]


UT7

@Sandeep Mewara, я сделал все, что вы упомянули. Я распаковал файл, скопировал его в каталог, где находятся мои jdk и jre, а также скопировал путь к каталогу скрипта и добавил его в свою системную переменную path. Вот почему он не показывает "javacc не распознается как внутренняя или внешняя команда". Кроме того, в этой версии javacc нет никакой папки bin, и после выполнения всего, что я упомянул выше, я все еще получаю ошибку - не удалось найти или загрузить основной класс.

Richard MacCutchan

Я снова спрашиваю: "в чем дело? точный команду вы набираете на консоли?

UT7

@Richard MacCutchan, команда, которую я использовал, - это javacc.

Sandeep Mewara

Здесь по той же ссылке, которой вы поделились, вы скачали файлы:

Installation

To install JavaCC, navigate to the download directory and type:

$ unzip javacc-7.0.9.zip
or
$ tar xvf javacc-7.0.9.tar.gz

Then place the binary javacc-7.0.9.jar in a new target/ folder, and rename to javacc.jar.

Once you have completed installation add the scripts/ directory in the JavaCC installation to your PATH. The JavaCC, JJTree, and JJDoc invocation scripts/executables reside in this directory.

UT7

@Sandeep Mewara, команда, которую я использовал в своей консоли, - это javacc
Да, это та же самая ссылка, которой я поделился.
Я следовал инструкциям, изложенным выше, я добавил каталог scripts/ в установке Javacc к своему пути. Спасибо.

Рейтинг:
11

Richard MacCutchan

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

Then place the binary javacc-7.0.9.jar in a new target/ folder, and rename to javacc.jar.

Если вы сделали это, то убедитесь, что target папка находится в правильном месте, которое находится в javacc каталог на том же уровне, что и scripts каталог.

Без сомнения, они могли бы облегчить процесс установки.


UT7

Пожалуйста, объясните, что вы подразумеваете под "... тем же уровнем, что и каталог сценариев".?

Richard MacCutchan

Это означает, что он должен быть в папке javacc, содержащей папку scripts. Таким образом, список каталогов будет выглядеть следующим образом:

 Directory of C:\Users\rjmac\Downloads\javacc\javacc

14/10/2020  10:39    <DIR>          .
14/10/2020  10:39    <DIR>          ..
14/10/2020  10:07               662 .editorconfig
14/10/2020  10:07               410 .gitattributes
14/10/2020  10:07    <DIR>          .github
14/10/2020  10:07               668 .gitignore
14/10/2020  10:07                86 .travis.yml
14/10/2020  10:07    <DIR>          bootstrap
14/10/2020  10:07                25 build.cmd
14/10/2020  10:07            28,653 build.xml
14/10/2020  10:07                45 contributors
14/10/2020  10:07    <DIR>          docs
14/10/2020  10:07    <DIR>          examples
14/10/2020  10:07    <DIR>          grammars
14/10/2020  10:07                 0 head
14/10/2020  10:07    <DIR>          lib
14/10/2020  10:07             1,536 LICENSE
14/10/2020  10:07             2,274 makedist
14/10/2020  10:07               551 make_bundle.cmd
14/10/2020  10:07               533 make_bundle.sh
14/10/2020  10:07            22,817 NfaStateTest.java
14/10/2020  10:07            27,177 pom.xml
14/10/2020  10:07            19,317 README.md
14/10/2020  10:07    <DIR>          rulesets
14/10/2020  10:40    <DIR>          scripts
14/10/2020  10:07    <DIR>          src
14/10/2020  10:39    <DIR>          target
14/10/2020  10:07    <DIR>          test
              15 File(s)        104,754 bytes
              13 Dir(s)  553,477,947,392 bytes free

UT7

Это каталог, когда я его скачал - C:\Users\Babatunde\Downloads\javacc-javacc-7.0.9.zip
Но распаковал его и переместил в мой целевой каталог - C:\Program файлы\Java
И это путь к каталогу скриптов, который я добавил в свою системную переменную path - C:\Program файлы\Java\javacc.jar\скрипты
Также обратите внимание, что я переименовал javacc-7.0.9 в javacc.jar в моем целевом каталоге, и он все еще не работает. Я сделал все это, прежде чем задать вопрос о проекте кода. Спасибо.

Richard MacCutchan

Так это работает сейчас?

UT7

Нет, это не работает.

Richard MacCutchan

Ну, я не могу догадаться, что не так, вам нужно объяснить со всеми подробностями. Как я уже говорил вам выше, я заставил его работать правильно, поэтому я знаю, что это возможно.

Richard MacCutchan

Хорошо, теперь я вижу, что вы переименовали каталог javacc-7.0.9 к javacc.jar Но это неверно. Каталог должен иметь имя javacc без расширения. Фактический файл jar (как я уже упоминал выше) должен быть помещен в target каталог, который создается внутри javacc.

Richard MacCutchan

Я еще раз посмотрел на дистрибутив в zip-файле, и мне кажется, что его содержимое не совсем соответствует документации. Под столом есть папка. javacc каталог с именем bootstrap, который содержит javacc.jar файл. Это файл, который вам нужно скопировать в новую папку с именем target.

Richard MacCutchan

Я теряю желание жить здесь ...

Фактический двоичный файл jar должен быть загружен из JavaCC | самый популярный генератор парсеров для использования С Java-приложениями.[^]. Нажмите на слово "двоичные файлы" в разделе Загрузка и установка. Это позволит загрузить файл с именем javacc-7.0.9.jar Затем вы должны переместить этот файл в target папку и переименовать ее в javacc.jar.

Как я уже упоминал выше, они могли бы сделать это проще.

UT7

Вот что я сделал. Я отодвинул 7.0.9.jar целевую папку и я переименовал как javacc.jar но это не сработало.

Richard MacCutchan

Вы, должно быть, сделали что-то не так. Я сделал это точно так, как было сказано выше, и теперь он работает правильно.

UT7

Можно ли использовать Team Viewer для подключения к моему ноутбуку и просмотра, чтобы проверить? Мне действительно нужно заставить его работать как можно скорее, я опаздываю на представление задания. Спасибо.

Richard MacCutchan

- Нет, извини. Как я уже объяснял, этот вопрос довольно прост в решении. Убедитесь, что у вас есть папка с именем target ниже javacc главная папка. Копировать javacc-7.0.9.jar двоичный файл в него и переименуйте его javacc.jar.

Если у вас все еще есть проблемы, то вам необходимо предоставить полный список каталогов вашего сайта. javacc каталог, и объясните точно, какие ошибки вы видите.

UT7

@Richard MacCutchan, @Sandeep Mewawa,

Привет, ребята, это содержимое файла javacc в моем каталоге загрузок.
Это тот каталог, который я должен переименовать в javacc.jar и скопировать в мою целевую папку?
Моя целевая папка такова C:\Program файлы\Java
Если это не так, то какой файл я должен переименовать как javacc.jar-что?

Каталог товаров C:\Users\Babatunde\Downloads\javacc-javacc-7.0.9\javacc-javacc-7.0
.9

C:\Users\Babatunde>загрузка компакт-дисков

C:\Users\Babatunde\Downloads>cd javacc-javacc-7.0.9

C:\Users\Babatunde\Downloads\javacc-javacc-7.0.9>cd javacc-javacc-7.0.9

C:\Users\Babatunde\Downloads\javacc-javacc-7.0.9\javacc-javacc-7.0.9>реж.
Громкость в диске C-Windows8_OS

Каталог товаров C:\Users\Babatunde\Downloads\javacc-javacc-7.0.9\javacc-javacc-7.0
.9

16.10.2020 04:47 РЕЖ .
16.10.2020 04:47 РЕЖ ..
10/16/2020 04:46 AM 662 .editorconfig
10/16/2020 04:46 AM 410 .gitattributes
10/16/2020 04:46 AM реж .github
10/16/2020 04:46 AM 668 .gitignore
10/16/2020 04:46 AM 86 .travis.yml
10/16/2020 04:46 AM DIR bootstrap
10/16/2020 04:46 AM 25 build.cmd
10/16/2020 04:46 AM 28,653 build.xml
10/16/2020 04:46 AM 45 Участники
10/16/2020 04:47 AM DIR docs
10/16/2020 04:47 AM реж. примеры
10/16/2020 04:47 AM реж.
10/16/2020 04:46 AM 0 head
10/16/2020 04:47 AM DIR lib
10/16/2020 04:46 AM 1,536 ЛИЦЕНЗИЯ
10/16/2020 04:46 AM 2,274 makedist
10/16/2020 04:46 AM 551 make_bundle.cmd
10/16/2020 04:46 AM 533 make_bundle.sh
10/16/2020 04:46 утра 22,817 NfaStateTest.java
10/16/2020 04:46 AM 27,177 pom.xml
10/16/2020 04:46 AM 19,317 README.md
10/16/2020 04:47 AM реж.
10/16/2020 04:47 AM реж.
10/16/2020 04:47 утра реж ГРЦ
10/16/2020 04:47 AM DIR test
15 файл(ы) 104,754 байт
12 Dir(s) 51,929,886,720 байт бесплатно

C:\Users\Babatunde\Downloads\javacc-javacc-7.0.9\javacc-javacc-7.0.9>

Richard MacCutchan

Вы должны переименовать C:\Users\Babatunde\Downloads\javacc-javacc-7.0.9\javacc-javacc-7.0.9 к C:\Users\Babatunde\Downloads\javacc\javacc Это не критично, но это просто облегчает работу с именами . Затем вы должны создать папку target внутри C:\Users\Babatunde\Downloads\javacc\javacc Затем загрузите двоичный файл jar из ссылки "двоичные файлы" в примечаниях по установке javacc. Это позволит загрузить файл под названием javacc-7.0.9.jar. Переименуйте этот файл в javacc.jar и переместите его в target папка. Затем вы должны добавить C:\Users\Babatunde\Downloads\javacc\javacc\scripts к вашей переменной окружения PATH, и она должна работать.

UT7

Да, это сработало!!!! @Richard MacCutchan, это сработало!!!!. @Richard MacCutchan, @Sanddeep Mewara, извините, что я не был доступен в течение последних 48 часов по некоторым личным причинам. Я очень, очень благодарен Вам за помощь, время и терпение. Javacc работает. Спасибо.