Я пытаюсь скомпилировать свой Java-код с помощью скрипта bash. Мне также нужно передать аргументы, которые я получаю из другого файла в том же каталоге. Мой сценарий выглядит следующим образом:компиляция и выполнение java из скрипта bash
#!/usr/bin/env bash
MYID="$(cat $(pwd)/my.id)"
eval javac src/main/java/foo/bar.java "$MYID"
но думает мой аргумент в качестве еще одного Java-файл для компиляции и дает мне ошибку:
Class names, 'abc123', are only accepted if annotation processing is explicitly requested
P.S. abc123 - единственный идентификатор в файле my.id, который мне нужно передать.
Пожалуйста, помогите мне сделать эту работу, я искал решения весь день. :(
редактировать:.. Это был глупый вопрос я просто понял, что я проходил в качестве аргументов в неправильном месте я понял это большое спасибо
Что должен делать компилятор с идентификатором? Может быть, вы захотите передать его при запуске программы? – Henry
Собственно, что вы хотите сделать? используйте javac --help, чтобы узнать параметры, которые будут использоваться. Какова же утилита этого скрипта, если каждый раз компилируется только 'bar.java'? – Blip
Он будет генерировать еще один Java-файл, основанный на этом id. После этого я скомпилирую другой класс с созданным Java-файлом. –