I'm having an issue with Scala and Java interoperability which Google and SO seem to be unhelpful (I've seen similar questions, but none offered a working solution for my case).
I have created a jar file in Java (hosted here, if you need it to answer this question) which contains a class with a static method. However, I can't seem to access this static method from Scala. Here's the code:
val graph1 = ...
val graph2 = ...
val union = DirectedGraph.merge(graph1, graph2)
The method exists, and I can access it with normal Java code. In fact, the following works:
DirectedGraph<OWLClass> graph1 = ...;
DirectedGraph<OWLClass> graph2 = ...;
DirectedGraph<OWLClass> union = DirectedGraph.merge(graph1, graph2);
I've checked that the jar files being used by java and scala are the same. And I also checked to see if the method was indeed there with javap.
Is there an idea out there to understand and possibly solve this problem?
error while loading DirectedGraph, class file 'fetchers.jar(pt/remoteowl/objects/DirectedGraph.class)' is broken (class scala.MatchError/class DirectedGraph (of class scala.reflect.internal.Symbols$ClassSymbol))andvalue merge is not a member of object pt.remoteowl.objects.DirectedGraph