java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not available
好久没有使用MyEclipse10了,今天打开看了以前大学的项目,在Tomcat7中发布启动,我嚓嘞,报错:
SEVERE: Exception initializing random number generator using algorithm [SHA1PRNG]java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not availableat sun.security.jca.GetInstance.getInstance(Unknown Source)at java.security.SecureRandom.getInstance(Unknown Source)at org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom(SessionIdGeneratorBase.java:210)at org.apache.catalina.util.SessionIdGeneratorBase.getRandomBytes(SessionIdGeneratorBase.java:174)at org.apache.catalina.util.StandardSessionIdGenerator.generateSessionId(StandardSessionIdGenerator.java:34)at org.apache.catalina.util.SessionIdGeneratorBase.generateSessionId(SessionIdGeneratorBase.java:167)at org.apache.catalina.util.SessionIdGeneratorBase.startInteal(SessionIdGeneratorBase.java:256)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)at org.apache.catalina.session.ManagerBase.startInteal(ManagerBase.java:714)at org.apache.catalina.session.StandardManager.startInteal(StandardManager.java:461)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)at org.apache.catalina.core.StandardContext.startInteal(StandardContext.java:5643)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)at org.apache.catalina.core.ContainerBase.addChildInteal(ContainerBase.java:899)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1260)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2002)at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)
看到这个错误,一头雾水,从来没有见过这个错误,以为是tomcat7的缘故,又换位tomcat6,发布启动之后,我叉,有出现错误:
SEVERE: Cannot find message associated with key managerBase.digestjava.security.NoSuchAlgorithmException: MD5 MessageDigest not availableat sun.security.jca.GetInstance.getInstance(Unknown Source)at java.security.Security.getImpl(Unknown Source)at java.security.MessageDigest.getInstance(Unknown Source)at org.apache.catalina.session.ManagerBase.getDigest(ManagerBase.java:478)at org.apache.catalina.session.ManagerBase.generateSessionId(ManagerBase.java:1220)at org.apache.catalina.session.StandardManager.start(StandardManager.java:636)at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:448)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4665)at org.apache.catalina.core.ContainerBase.addChildInteal(ContainerBase.java:803)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:780)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:676)at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:602)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:503)at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1069)at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)at org.apache.catalina.core.StandardService.start(StandardService.java:525)at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)at org.apache.catalina.startup.Catalina.start(Catalina.java:595)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
然后,干脆就去掉项目,单独的启动tomcat6 和 tomcat7,我叉,还是一样的错误,这说明 原来的项目是没有问题的,那就是 MyEclipse10 和 tomcat的原因了。
因为tomcat6和tomcat7 依赖的是 JDK7,所以报了这个错,原因还不清楚,但是在eclipse中 tomcat6 和 tomcat7 是可以使用JDK7的。于是,把tomcat6 和 tomcat7 依赖的JDK7换为 MyEclipse10自带的JDK6,重新启动tomcat,我叉,真的就没有问题了。
作者:小葱拌豆腐~
来源链接:https://www.cnblogs.com/xbq8080/p/7289558.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。