Payara拒绝启动:java.security.KeyStoreException:找不到JCEKS

在Payara 5.194上运行Java EE 8 Web应用程序。自从我启动Payara和应用程序以来已经有一段时间了。

启动服务器时:我收到有关6个过期证书的消息。

 Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
 Subject: CN=Staat der Nederlanden Root CA - G2,C=NL
 Subject: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
 Subject: CN=AddTrust Class 1 CA Root,C=SE
 Subject: CN=KEYNECTIS ROOT CA,OU=ROOT,O=KEYNECTIS,C=FR
 Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net

那之后我得到这个异常

[#|2020-05-30T10:47:11.755+0000|INFO|Payara 5.194|javax.enterprise.system.core|_ThreadID=22;_ThreadName=RunLevelControllerThread-1590835619275;_TimeMillis=1590835631755;_LevelValue=800;_MessageID=NCLS-CORE-00015;|
  Shutdown requested
MultiException stack 1 of 2
java.lang.RuntimeException: java.lang.RuntimeException: java.security.KeyStoreException: JCEKS not found
        at org.glassfish.security.services.impl.JCEKSPasswordaliasStore.containsKey(JCEKSPasswordaliasStore.java:169)
        at fish.payara.nucleus.microprofile.config.source.PasswordaliasConfigSource.getvalue(PasswordaliasConfigSource.java:84)
        at fish.payara.nucleus.microprofile.config.spi.Payaraconfig.getvalue(Payaraconfig.java:166)
        at fish.payara.nucleus.microprofile.config.spi.Payaraconfig.getOptionalValue(Payaraconfig.java:88)
        at fish.payara.microprofile.healthcheck.HealthCheckService.postConstruct(HealthCheckService.java:120)
        at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodaccessorImpl.invoke(NativeMethodaccessorImpl.java:62)
        at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1268)
        at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:309)
        at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:351)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:463)
        at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:281)
        at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:65)
        at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2102)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:93)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:67)
        at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1213)
        at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1144)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: java.security.KeyStoreException: JCEKS not found
        at org.glassfish.security.services.impl.JCEKSPasswordaliasStore.pa(JCEKSPasswordaliasStore.java:103)
        at org.glassfish.security.services.impl.JCEKSPasswordaliasStore.containsKey(JCEKSPasswordaliasStore.java:167)
        ... 22 more
Caused by: java.security.KeyStoreException: JCEKS not found
        at java.security.KeyStore.getInstance(KeyStore.java:851)
        at com.sun.enterprise.security.store.Passwordadapter.loadKeyStore(Passwordadapter.java:131)
        at com.sun.enterprise.security.store.Passwordadapter.<init>(Passwordadapter.java:110)
        at org.glassfish.security.services.impl.JCEKSPasswordaliasStore.pa(JCEKSPasswordaliasStore.java:101)
        ... 23 more
Caused by: java.security.NoSuchAlgorithmException: JCEKS KeyStore not available
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
        at java.security.Security.getImpl(Security.java:697)
        at java.security.KeyStore.getInstance(KeyStore.java:848)

没有更改代码,什么也没有。 Payara不会开始。

iCMS 回答:Payara拒绝启动:java.security.KeyStoreException:找不到JCEKS

所以我找到了问题。我确实升级到JDK 9,所以我的JAVA_HOMEpath env变量指向JDK 9。因此,我暂时将它们更改为指向JDK 8。一切正常。

本文链接:https://www.f2er.com/2239520.html

大家都在问