gpt4 book ai didi

wildfly - 如何让 EAR 从 WAR 读取属性文件?

转载 作者:行者123 更新时间:2023-12-04 21:32:07 25 4
gpt4 key购买 nike

我正在使用 Wildfly 11 和 Java 8。我正在尝试部署一个包含多个 WAR 文件的 EAR 文件。我的一个 WAR 文件在其 web.xml 中包含此内容...

<context-param>
<param-name>Owasp.CsrfGuard.Config</param-name>
<param-value>csrfguard.properties</param-value>
</context-param>

有问题的文件在我的其中一个 WAR 中
myapp.war/WEB-INF/classes/csrfguard.properties

当我自己部署 WAR 时,一切都部署得很好。但是,当我部署包含 WAR 的 EAR 时,我收到一个错误,提示无法找到属性文件......
Caused by: java.io.IOException: unable to locate resource - csrfguard.properties
at org.owasp.csrfguard.CsrfGuardServletContextListener.getResourceStream(CsrfGuardServletContextListener.java:85)
at org.owasp.csrfguard.CsrfGuardServletContextListener.contextInitialized(CsrfGuardServletContextListener.java:36)
... 10 more

我感觉到发生了一个类加载器问题,我不知道如何解决。我如何告诉我的 EAR 文件在哪里可以找到有问题的属性文件?

最佳答案

我怀疑使用了错误的类加载器来搜索 csrfguard.properties 的类路径,这会导致 getResourceAsStream 失败。在 .ear 文件中,CSRFGuard 库在哪里打包?

您可以尝试使用 context.getRealPath 通过切换到相对于 .war 文件的路径进行回退:

<context-param>
<param-name>Owasp.CsrfGuard.Config</param-name>
<param-value>WEB-INF/classes/csrfguard.properties</param-value>
</context-param>

关于wildfly - 如何让 EAR 从 WAR 读取属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48673469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com