在 CXF.xml 文件中使用来自 jvm 参数的占位符的问题

问题描述

我在 cxf.xml 中为我的独立应用程序(java jar 独立可执行应用程序)设置了 TLS 配置。我使用了一些占位符,如下所示:

示例:

<http-conf:conduit name="https://.*">  
<http-conf:tlsClientParameters disableCNCheck="false" useHttpsURLConnectionDefaultSslSocketFactory="false">  
<sec:keyManagers keyPassword="${keystore.password}">  
<sec:keyStore type="JKS" password="${keystore.password}" file="${keystore.path}" />  
</sec:keyManagers>  
<sec:trustManagers>  
<sec:keyStore type="JKS" password="${trustore.password}" file="${truststore.path}" />  
</sec:trustManagers>  
</http-conf:tlsClientParameters>  
</http-conf:conduit>  

接下来是我传递这样的 JVM 参数

-Dkeystore.path=C:somelocallocation

定位jks文件

现在的问题是当我运行应用程序时出现错误

工厂方法“createTLSClientParameterFromType”抛出异常;嵌套异常是 java.nio.file.NoSuchFileexception: ${keystore.path}

这就像从字面上理解一样。因为当我尝试像这样直接在 CXF 中设置值时:file="C:somelocallocation" 它将起作用。

我在想,如果我错过了一些依赖项,这就是它不起作用的原因。

我在 JAVA、springboot、maven 中创建的应用程序的附加信息

希望有人熟悉这种设置,可以给我一些想法。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)