我无法在 JBOSS EAP 7.1 中从 EAR 或 WAR 设置系统属性
Posted
技术标签:
【中文标题】我无法在 JBOSS EAP 7.1 中从 EAR 或 WAR 设置系统属性【英文标题】:I am not able to set System Properties from EAR or WAR in JBOSS EAP 7.1 【发布时间】:2020-11-29 21:18:50 【问题描述】:我需要使用 System.setProperty() 方法在 EAR 或 WAR 中设置 trustStore 和 trustStorePassword ,在我打印 System.getProperties() 并在 javax.net.ssl.trustStore 和 javax 的日志中找到的同一行上.net.ssl.trustStorePassword 被设置为需要设置的确切位置和密码,但仍然无法验证来自 trustStore 的服务器证书。
收到此错误:
sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径
但是如果我从启动脚本中设置这两个参数,即
$JBOSS_HOME/bin/standalone.sh -c Standalone-full-ha.xml -Djavax.net.debug=none -Djavax.net.ssl.trustStore=truststore.jks 的路径 -Djavax.net.ssl.trustStorePassword =密码
能够成功验证服务器的证书。
JBOSS EAP 7.1 对从部署设置系统属性有任何限制吗?或者有没有我遗漏的配置?
【问题讨论】:
【参考方案1】:证书的系统属性是在 JVM 启动时读取的,因此在部署中设置它们为时已晚。
【讨论】:
以上是关于我无法在 JBOSS EAP 7.1 中从 EAR 或 WAR 设置系统属性的主要内容,如果未能解决你的问题,请参考以下文章
JBoss EAP 7.1 部署失败的集成器:未找到提供程序
从 JBoss AS 7.1 迁移到 JBoss EAP 7.3.0
部署到 jboss EAP 7.1 时,此 URL 不支持 HTTP Post 方法
JBoss EAP 6.4 -> 7.1 使用休眠 4 而不是默认休眠 5