title: Could not initialize class javax.crypto.SunJCE_b
body: <p>I have a Java servlet application developed and on my develpment PC everything works as expected including using SFTP programmatically to copy over a PDF using HTTPS on port 8443 etc and with SSL certificates in place too.</p>
  
  <p>However, when I attempt to run the application on the Live server I receive the error;</p>
  
  <p>java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b</p>
  
  <p>On investigation, some are suggesting check the jce.jar.  But I have ensured the jce.jar is present and also created a "lib" folder in my project and copied the jar there and placed the jar on my build path but still the problem exists.</p>
  
  <p>How do I resolve this please?  Thanks in advance.  Here is the console output from right after Tomcat has started the application;</p>
  
  #
  
  <pre><code>08-Jan-2014 10:45:44 org.apache.catalina.startup.Catalina start
  INFO: Server startup in 12715 ms
  08-Jan-2014 10:47:42 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor run
  SEVERE: 
  java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b
  at javax.crypto.Cipher.getInstance(DashoA13*..)
  at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(Unknown Source)
  at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.&lt;init&gt;(Unknown Source)
  at com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage(Unknown Source)
  at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
  at com.sun.net.ssl.internal.ssl.Handshaker$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask.run(Unknown Source)
  at org.apache.tomcat.util.net.SecureNioChannel.tasks(SecureNioChannel.java:285)
  at org.apache.tomcat.util.net.SecureNioChannel.handshakeUnwrap   
  (SecureNioChannel.java:343)
  at org.apache.tomcat.util.net.SecureNioChannel.handshake
  (SecureNioChannel.java:193)
  at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run
  (NioEndpoint.java:1642)
  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
  </code></pre>