我目前使用esapi 2.2.0.0版本。当我尝试将 2.2.0.0 升级到 2.5.2.0 时,我收到此错误..java.lang.ClassNotFoundException: org.owasp.esapi.reference.JavaLogFactory LogFactory 类 (org.owasp.esapi.reference.JavaLogFactory) 必须在类中小路。 我也尝试添加 ESAPI.properties 但没有帮助
我确实相信我之前已经回答过这个相同的问题,但为了省去我们查找它的麻烦,只需下载 的“资产”部分下的 esapi-2.5.2.0-configuration.jar https://github.com/ESAPI/esapi-java-legacy/releases/tag/esapi-2.5.2.0。解压该 jar 文件,找到 ESAPI.properties 文件,并将 2.5.2.0 版本的 ESAPI.properties 替换为您可能从 ESAPI 2.2.0.0 中保留的旧版本。这应该可以解决你的问题。 (如果您使用 ESAPI
Encryptor
,您可能还需要从 2.2.0.0 ESAPI.properties 文件复制 Encryptor.MasterKey 和 Encryptor.MasterSalt 属性。但除非您进行了配置更改,否则就是这样可能是您需要保留的所有内容。)
顺便说一句,您收到该错误的原因是当我们在 2.3.0.0 左右开始支持 SLF4J 时,
JavaLogFactory
的包命名空间发生了变化。如果您遵循发行说明中的说明并阅读所有中间的发行说明(嗯,至少到 2.3.0.0 左右),这可能是显而易见的。
无论如何,HTH。 -凯文
@凯文·W·沃尔。 我希望你还在身边。我到处搜索,但在尝试迁移时(从 2.1.0 开始),我仍然像每个人一样陷入困境。 无法找到资源 esapi-java-logging.properties(紧邻 ESAPI.properties) 我已经完成了您的建议(我复制了您链接的 ESAPI.properties 的所有内容,并且仅添加了我自己的 Encryptor.MasterKey 和 Encryptor.MasterSalt)。 请帮忙! 注意:由于它不适用于 2.5.2.0,我也尝试过 2.3.0.0,但效果不佳。