Sunday, September 13, 2015

java.lang.NoSuchMethodError: com.rsa.jsafe.CryptoJ.isNativeAvailable(Ljava/lang/String;)

Problem

java.lang.NoSuchMethodError: com.rsa.jsafe.CryptoJ.isNativeAvailable(Ljava/lang/String;)


Ah you lil devlil , this exception wasted alot of my time debugging and looking into the solution , this could be because of many reasons


  1. You have new jar in you project and you compile your code with it but when you deploy to server  , it has old jar file in it's class path , and the class loader has loaded the old jar file which doesn't have this new method in the specified class.
  2. You may have two version of same jar file in your class path , an older version and a newer version.
However none of the above was the case for me , and I was left totally clueless.


I had dfc.properties file in my classpath also , everything was perfect.




Solution

After banging my head with the wall for so many days , I was lucky to find the solution which was to copy the latest dfc.properties from my Documentum installation folder and copy another file called dfc.keystore in my classpath. And this resolved my problem , now don't ask me why :) and try this solution at your machine if it works leave a comment here.













2 comments:

  1. Reason , your solution works is because dfc.keystore is created for the first time when application starts and it uses the latest crypto jars which are not compatible but if dfc.keystore is already copied, than that action is not requried and your solution worked.

    ReplyDelete