Я работаю над проектом clojure, в котором я хочу создать класс на Java, а затем создать экземпляр этого класса и вызвать метод из моего кода clojure.
Мой код Java находится в ресурсах / MyClass.java
public class MyClass {
public static long myMethod() {
long i = 1;
return i;
}
}
И в моем коде clojure у меня есть
(import MyClass)
...
(def my-object (MyClass.))
(.myMethod my-object)
Я скомпилировал свой класс и запустил lein compile, но когда я запускаю свой код, я получаю
Exception in thread "main" java.lang.IllegalArgumentException: No matching field found: myMethod for class MyClass
at clojure.lang.Reflector.getInstanceField(Reflector.java:271)
at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:300)
Что я делаю неправильно? Похоже, что оператор импорта работал как экземпляр, но я не могу вызвать метод. Помощь приветствуется!
Спасибо