By analyzing the module orientdb/distribution-tp2, we found it depends on two JARs:
com.orientechnologies:orientdb-server:3.0.0-20180219.092740-1154 and com.orientechnologies:orientdb-graphdb:3.0.0-20180219.092746-1154. These two JARs contain a same class "com.orientechnologies.orient.server.network.protocol.http.OHttpGraphResponse", but the implementations of these duplicate classes are different:
One method only exists in com.orientechnologies:orientdb-graphdb: 3.0.0-20180219.092746-1154:: [com.orientechnologies:orientdb-community-tp2:3.0.0-SNAPSHOT::null->com.orientechnologies:orientdb-graphdb:3.0.0-20180219.092746-1154::compile] :
com.orientechnologies.orient.server.network.protocol.http.OHttpGraphResponse: void writeEdge(com.tinkerpop.blueprints.impls.orient.OrientEdge,com.orientechnologies.orient.core.serialization.serializer.OJSONWriter)
As the JVM only load the classes present first on the classpath and shadow the other duplicate ones with the same names. The dependency conflict problem brings high risks of "NoSuchMethodException" or "NoSuchMethodError" issues at runtime. Please notice this problem.
Hi @PandaMonkey,
Thank you for reporting that, we will fix it and update the dist configurations.
Regards
Does this commit https://github.com/orientechnologies/orientdb/commit/85c00aaac188c86622500fefe7dbed2e3d3ace0d fix this problem?
Hi @MC-Escherichia
yes that commit solves this issue
Most helpful comment
Hi @PandaMonkey,
Thank you for reporting that, we will fix it and update the dist configurations.
Regards