当使用gen-class时,生成的.class文件没有Java接口的默认方法。
我创建了这个示例,您可以在调用由gen-class生成的类的方法时确认会抛出异常
clj -T:build jar
在target/classes生成类文件
java -cp
client/main/Main.java
抛出异常
Exception in thread "main" java.lang.UnsupportedOperationException: otherthing (clojure-sample.foo/-otherthing not defined?)
at clojure_sample.Foo.otherthing(Unknown Source)
at client.main.Main.main(Main.java:9)
不太理想的解决方案是在实现java接口默认方法所在的命名空间中添加默认方法。