Orientdb: Dependency Conflict: duplicate classes "com.orientechnologies.orient.server.network.protocol.http.OHttpGraphResponse" in different JARs, have different implmentations.

Created on 19 Feb 2018  路  3Comments  路  Source: orientechnologies/orientdb

OrientDB Version: <3.0.0-SNAPSHOT>

Java Version: <1.7>

OS: win10

Expected behavior

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.

bug

Most helpful comment

Hi @PandaMonkey,

Thank you for reporting that, we will fix it and update the dist configurations.

Regards

All 3 comments

Hi @PandaMonkey,

Thank you for reporting that, we will fix it and update the dist configurations.

Regards

Hi @MC-Escherichia

yes that commit solves this issue

Was this page helpful?
0 / 5 - 0 ratings