Используйте другую кавычку при оценке строки с использованием JEXL
Требование заключается в использовании JEXL для оценки java-метода из файла со строковым параметром, как показано ниже:
object.method("argument");
Но иногда мой аргумент String пишется с разными кавычками:
object.method("argument");
Согласно документации JEXL, я могу использовать простые или двойные кавычки ", но не мой французский guillemet: https://commons.apache.org/proper/commons-jexl/reference/syntax.html
Один из способов сделать это - сначала очистить мой файл, заменить все разные кавычки и использовать их всегда одинаково.
Есть ли другой возможный способ изменить это поведение?
1 ответ
Вам определенно следует заменить французские гильемы одним из поддерживаемых синтаксисов (кавычка / двойная кавычка). Если вам абсолютно необходимо придерживаться этого (нечетного) соглашения и вы можете / хотите раскошелиться / собрать свою собственную локальную версию JEXL, вы должны изменить грамматику Javacc, чтобы принять новый синтаксис 'string'. Где-то вокруг http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_3_1/src/main/java/org/apache/commons/jexl3/parser/Parser.jjt?view=markup#l244