Web项目下ESAPI.properties的正确位置

Pet*_*ila 4 java eclipse esapi

我在项目中添加了OWASP ESAPI库。目前,我遇到了在哪里找到ESAPI.properties文件的问题。该项目以后应部署在我无权访问的几台服务器上。因此,我认为无法自定义org.owasp.esapi.resources变量,因此无法将其放在用户主目录下。所以我唯一可以放置此文件的SystemResource Directory/resourceDirectory地方是,但是它在哪里?我已经尝试放置这些文件:

.esapi/ESAPI.properties
esapi/ESAPI.properties
ESAPI.properties
Run Code Online (Sandbox Code Playgroud)

进入以下位置:

$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
Run Code Online (Sandbox Code Playgroud)

但是在所有这些地方,我都会得到一个错误: Not found in SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties

那么我应该在哪里找到该文件?这是一个遗留项目(只是没有Maven的Eclipse Project),其结构非常难看。没有这样的目录,就像/src/main/resources我认为该ESAPI.properties文件应该位于的位置。我已经创建了这个目录,但是在将WAR存档部署到Tomcat之后,该文件最终应该在哪里?

Gen*_*nry 5

ESAPI.properties文件应位于CLASSPATHesapi目录下的。

假设您有一个以两种形式中的任何一种部署到战争中的模块:作为罐子,或作为类爆炸。只需在使用OWASP ESAPI 3rd party的模块源内部创建一个目录。

从eclipse的角度来看,CLASSPATH无论您是否使用maven ,都只需将文件放入。使用maven时,插件会将maven resources目录转换为eclipse sources目录m2eclipse

示例(使用Eclipse标准源结构):

src
|---com
|   |---module
|   |   |---SomeClass.java
|---esapi
|   |---ESAPI.properties
Run Code Online (Sandbox Code Playgroud)