Mark is a graph advocate and field engineer for Neo Technology, the company behind the Neo4j graph database. As a field engineer, Mark helps customers embrace graph data and Neo4j building sophisticated solutions to challenging data problems. When he's not with customers Mark is a developer on Neo4j and writes his experiences of being a graphista on a popular blog at http://markhneedham.com/blog. He tweets at @markhneedham. Mark is a DZone MVB and is not an employee of DZone and has posted 529 posts at DZone. You can read more from them at their website. View Full User Profile

Dealing wit a NoSuchAlgorithm Exception on neo4j

07.27.2012
| 1631 views |
  • submit to reddit

I’ve spent the last couple of hours moving my neo4j graph from my own machine onto a vanilla CentOS VM and initially tried to run neo using a non Sun version of Java which I installed like so:

yum install java

This is the version of Java that was installed:

$ java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20120305 (Red Hat 4.4.6-4)

When I tried to start neo4j:

neo4j/bin/neo4j start

I ended up with the following exception in the neo4j log @ neo4j/data/log/neo4j.0.0.log:

Caused by: java.security.NoSuchAlgorithmException: Algorithm [JKS] of type [KeyStore] 
from provider [org.bouncycastle.jce.provider.BouncyCastleProvider: name=BC version=1.4] is not found

I assumed this algorithm was only being packaged with the Sun JDK (although the website suggests otherwise) so I’d need to replace my version of Java to get it working.

I got the 64 bit ‘.bin’ file from the Oracle download page and then installed it using rpm:

rpm -ivh jdk-6u33-linux-x64-rpm.bin

I now have this version of Java installed and neo4j is much happier:

java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)

After googling around for a bit I’m still not entirely sure why it wasn’t able to work with the original version of Java I installed so if anyone could point me in the direction that’d be useful.

Published at DZone with permission of Mark Needham, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)