我在我的项目中添加了一个 OWASP ESAPI 库。目前我遇到了一个问题,在哪里可以找到 ESAPI.properties
文件。这个项目稍后应该部署在我无权访问的几台服务器上。所以在我看来,没有办法自定义org.owasp.esapi.resources
变量,我不能把它放在用户主目录下。所以我唯一可以放这个文件的地方是 SystemResource Directory/resourceDirectory
但它在哪里呢?我已经尝试放置这些文件:
.esapi/ESAPI.properties
esapi/ESAPI.properties
ESAPI.properties
进入这些位置:
$CATALINA_HOME/webapps/<MY_PROJECT>/
$CATALINA_HOME/webapps/<MY_PROJECT>/WEB-INF
$CATALINA_HOME/webapps/<MY_PROJECT>/WEB-INF/classes
$CATALINA_HOME/webapps/<MY_PROJECT>/META-INF
但是在所有这些地方我都得到一个错误:
在 SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties 中找不到
那么我应该在哪里找到这个文件呢?这是一个遗留项目(只是没有 Maven 的Eclipse 项目)并且它的结构非常难看。没有像 /src/main/resources
这样的目录,在我看来这个 ESAPI.properties
文件应该位于。我已经创建了这个目录,但是在将 WAR 存档部署到 Tomcat 之后,这个文件最终应该在哪里?
最佳答案
ESAPI.properties
文件应该位于 esapi
目录下的 CLASSPATH
中。
假设您有一个模块,它以 2 种形式中的任何一种形式部署到 war 中:作为 jar,或作为类展开。 只需在使用 OWASP ESAPI 第 3 方的模块的源代码中创建一个目录。
从 eclipse 的角度来看,无论您是否使用 maven,文件只需要位于 CLASSPATH
中。使用maven时,maven的resources
目录被m2eclipse
插件转换为eclipse的sources
目录。
示例(使用 eclipse 标准源代码结构):
src
|---com
| |---module
| | |---SomeClass.java
|---esapi
| |---ESAPI.properties
关于java - Web 项目下 ESAPI.properties 的正确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29842208/