1. 程式人生 > >debian下java的web環境搭建(tomcat+jdk)遇到的版本問題

debian下java的web環境搭建(tomcat+jdk)遇到的版本問題

前幾天安裝都是在官網下下載的最新的版本,jdk1.8+tomcat7.0.70,結果執行tomcat沒有問題,但是開啟IP:8080始終不能成功,檢視tomcat的catalina日誌發現開啟tomcat服務的時候全是關於SHA-1的錯誤,類似如下

java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not available
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
        at java.security.SecureRandom
.getInstance(SecureRandom.java:288) 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.startInternal(SessionIdGeneratorBase.java:256) at org.apache.catalina
.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.session.ManagerBase.startInternal(ManagerBase.java:714) at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:461) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5624) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase.addChildInternal(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(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

google了一下SHA-1本來就是jdk1.8的庫,講道理jdk應該是向下相容的。。可能是必須要匹配的版本,所以又去tomcat的網站上下載了8.5版本的tomcat,但是問題依然沒有解決額。。
之前看到有人在tomcat的論壇上聊這個話題,當時是重新換了一個版本的jdk,本來還是想堅持最新版本的jdk的,結果今天我試了一下1.7版本的jdk就好了。。
但是我在windows下面是1.8.101版本的jdk和tomcat7.0/tomcat8.5都嘗試了一下,沒有任何問題。

大坑 大坑 大坑