Я использовал аспектно-ориентированное программирование для ведения журнала в проекте Java Maven.
При запуске его через eclipse я должен инициализировать javaagent в vmargs следующим образом:
-javaagent:lib/aspectjweaver-1.9.1.jar
Теперь я хочу передать изготовленную Spark банку.Я написал сценарий оболочки для этого.Я могу запустить, но не могу инициализировать javaagent.
export SPARK_PATH=/xyz
export SPARK_URL=spark://abc:0000
export JAVA_OPTS="$JAVA_OPTS -javaagent:../aspectweaver-1.9.1.jar"
$SPARK_PATH/spark-submit --master $SPARK_URL --jars --class com.main.index ../index-0.0.1-SNAPSHOT.jar
Я пробовал несколько примеров, таких как установка JAVA_OPTS и CATALINE_OPTS, создание spark-env.sh и его установка.Но ничего из этого не сработало.Борьба за последние 3 дня.
Я проверил несколько похожих вопросов по stackoverflow, но ни один из них не помог при настройке javaagent.Справка.
Спасибо.
РЕДАКТИРОВАТЬ:
Я проверяю, инициализирован ли javaagent в коде, используя следующий код:
try {
org.aspectj.weaver.loadtime.Agent.getInstrumentation();
} catch (NoClassDefFoundError | UnsupportedOperationException e) {
System.out.println(e);
}
Я получаю NoClassDefFoundError.Который заключает, что javaagent не установлен.