Я пытаюсь инициализировать объект JexlEngine, но конструктор не позволяет мне сделать это (хотя в документации указано, что это должно быть).
Вот документация для класса JexlEngine (в jexl3):
https://people.apache.org/~henrib/jexl-3.0/apidocs/org/apache/commons/jexl3/JexlEngine.html
Первоначально код работал с импортом jexl2, но я недавно преобразовал проект в Maven, и вместо этого мне пришлось заменить его на jexl3. Теперь конструктор больше не работает.
Я что-то упустил?
Я запускаю этот проект в Netbeans, на Java 1.8 - это проект Maven с включенными зависимостями для jexl3 (используется для работы с jexl2, однако)
Мой код:
public static final JexlEngine jexl = new JexlEngine(null, new MyArithmetic(), null, null){};
static {
jexl.setCache(512);
jexl.setLenient(false); // null shouldnt be treated as 0
jexl.setSilent(false); // Instead of logging throw an exception
jexl.setStrict(true);
}
Исходя из документации, должен быть конструктор с 4 параметрами, поскольку я пытаюсь его запустить, но по какой-то странной причине он не позволяет мне его запустить. Есть идеи почему? (опять же - раньше он работал с Jexl2)
Журнал ошибок:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project bilbon-core: Compilation failure: Compilation failure:
si/smth/project/bean/CUtil.java:[333,43] constructor JexlEngine in class org.apache.commons.jexl3.JexlEngine cannot be applied to given types;
required: no arguments
found: <nulltype>,si.smth.project.bean.CUtil.MyArithmetic,<nulltype>,<nulltype>
reason: actual and formal argument lists differ in length
si/smth/project/bean/CUtil.java:[333,99] <anonymous si.smth.project.bean.CUtil$1> is not abstract and does not override abstract method newInstance(java.lang.String,java.lang.Object...) in org.apache.commons.jexl3.JexlEngine
si/smth/project/bean/CUtil.java:[336,13] cannot find symbol
symbol: method setCache(int)
location: variable jexl of type org.apache.commons.jexl3.JexlEngine
si/smth/project/bean/CUtil.java:[337,13] cannot find symbol