You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下Wildfly服务启动失败问题求助

解决Wildfly启动时SHA-1 MessageDigest不可用的问题

核心错误分析

从日志来看,启动失败的根源是:

Caused by: java.security.NoSuchAlgorithmException: SHA-1 MessageDigest not available

这说明JDK无法找到SHA-1消息摘要算法的实现,通常是JDK安全组件缺失、安装损坏或配置异常导致的。

解决步骤

  • 检查JDK完整性
    重新安装当前使用的JDK版本,确保安装过程无中断。重点确认$JAVA_HOME/jre/lib/security目录下存在sunjce_provider.jar、sunec.jar等核心安全提供者文件,这些文件包含SHA-1算法的实现。

  • 验证安全配置文件
    打开$JAVA_HOME/jre/lib/security/java.security文件,检查是否包含Sun安全提供者的配置项,例如:

    security.provider.2=sun.security.provider.Sun
    

    不同JDK版本的提供者序号可能不同,确保该配置存在,若缺失则手动添加。

  • 确认Wildfly的JDK指向
    检查Wildfly启动脚本(standalone.conf或domain.conf)中的JAVA_HOME配置,确保指向的是完整、可用的JDK,而非损坏或不兼容的版本。可以通过执行$JAVA_HOME/bin/java -version验证JDK是否正常运行。

  • 临时应急方案
    若需快速恢复服务,可在Wildfly启动参数中强制指定安全提供者:

    -Djava.security.provider=sun.security.provider.Sun
    

    将该参数添加到启动脚本的JAVA_OPTS配置中,再尝试启动服务。

原始错误日志

2023-06-14 16:15:41,117 DEBUG [org.jboss.as.config] (MSC service thread 1-2) VM Arguments: -D[Standalone] -Xms8192m -Xmx24576m -XX:MetaspaceSize=1024M -XX:MaxMetaspaceSize=4096m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/opt/wildfly/standalone/log/server.log -Dlogging.configuration=file:/opt/wildfly/standalone/configuration/logging.properties
2023-06-14 16:15:41,125 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.as: org.jboss.msc.service.StartException in service jboss.as: Failed to start service
 at rg.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
  at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
        at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalStateException: WFLYDR0005: Cannot obtain SHA-1 MessageDigest
        at org.jboss.as.repository.ContentRepositoryImpl.<init>(ContentRepositoryImpl.java:92)
        at org.jboss.as.repository.ContentRepository$Factory.addService(ContentRepository.java:188)
        at org.jboss.as.server.ApplicationServerService.start(ApplicationServerService.java:168)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
        ... 6 more
Caused by: java.security.NoSuchAlgorithmException: SHA-1 MessageDigest not available

内容的提问来源于stack exchange,提问作者Network

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:52:34