Я пытаюсь понять, как передать аргументы с помощью команды ajc для AspectJ. Моя команда состоит в следующем:AspectJ, проходящий в основном args
ajc -classpath ./build/:./build/lib/commons-lang3-3.4.jar -argfile $ASPECTJARGS
В основном та же команда используется для работы в Java, но вместо того, чтобы мы имели (где arg1
и arg2
которые смотрели в $ASPECTJARGS
сейчас):
java -classpath ./build/:./build/lib/commons-lang3-3.4.jar arg1 arg2
Тогда основная функция возьмут arg1
и arg2
напрямую. Теперь я получаю ошибку
unrecognized single argument: arg1
при запуске AJC команды и мне интересно, если есть другой способ передать в аргументах к основной функции через компиляцию AJC.
Это не то, что я имел в виду. Я хотел бы передать аргументы в ajc, как и в java. Другими словами, передайте аргументы основной функции через массив String args []. – dinamix
Как я уже сказал, не совсем уверен, что понял вопрос. Что вы хотите передать, это не вариант, который изменит поведение? Конкретный пример был бы велик. Вы можете обойти сценарий запуска, если вам нужно - открыть ajc или ajc.sh и посмотреть, как он вызывает java для запуска основной точки входа в компиляторе. –
Я столкнулся с этим сообщением об ошибке в Windows, когда, например, путь к среде выполнения AspectJ содержал пробелы, как в «C: \ Program Files \ Java \ AspectJ \ lib \ aspectj.jar», и я использовал это прямо или косвенно (через ASPECTJ_HOME) в моем пути класса ajc без цитирования пути к классам. Попытайтесь вложить свой путь к классам в двойные кавычки и посмотреть, что произойдет. В последнее время я не пробовал Linux, поэтому я не знаю, помогает ли это. – kriegaex