It appears that the neo4j-admin-0.2.0-java
gem includes lib/neo4j-admin/jars/bcprov-jdk16-140.jar
. Unpacking that JAR shows that there are bouncycastle classes included.
Looking at the docs for ASN1Primitive, we can see that it inherits from ASN1Object
. Running javap
on the ASN1Object included in the above JAR, we can see what equals
is defined as (extra lines removed):
$ javap ASN1Object.class | grep equals
public final boolean equals(java.lang.Object);
This data correlates with this related question. Looking at the MANIFEST.MF
file at the root of the JAR, it says
Implementation-Version: 1.40.0
So JRuby is likely including a newer version of bouncycastle and you have a gem providing an older version; welcome to DLL Hell :-). I'm not sure of the best solution here. You could delete the bcprov
JAR as a quick hack, but who knows what that might do. You should check to see if there is a newer version of the neo4j gems that might work around this. If not, you should probably file a bug with them so that they are aware (if there isn't one already).
EDIT
Here is the bug report. It doesn't look to have been worked on in quite a while.
EDIT 2
Of course, if you don't need the neo4j-admin
gem, you can probably remove it from your Gemfile and keep on trucking.