2012-03-19 74 views
2

使用OWASP的ESAPI,我發現自己停留在這個特定的代碼行。因爲沒有這樣的系統屬性「org.owasp.esapi.resources」我的電腦上設置爲ESAPI設置資源目錄

private static String customDirectory = System.getProperty("org.owasp.esapi.resources"); 

的代碼返回null。有沒有辦法在我的電腦上永久設置這個屬性?

+0

你能指定你想要做什麼嗎?你是否想要獲取資源目錄中的屬性文件? – bsimic 2012-03-19 13:37:23

+0

實際上我無法設置資源目錄本身。我的意思是我不知道如何指定/配置資源目錄的路徑。 到現在爲止,我通過將.esapi目錄中的所有資源作爲代碼(最後一次努力)嘗試從位於user.home中的此文件夾中獲取它們,我漸漸離開了。 – 2012-03-20 05:39:08

+1

我之前完成的工作是創建一個名爲package資源在src/org/owasp/esapi/resources中,並將我的ESAPI.properties和validtion.properties放在那裏。然後我建立了ESAPI項目。構建完成後,我將生成的jar文件存儲在目標文件夾中,然後每當我使用它時,都會從前面創建的資源文件夾中自動加載資源。 – bsimic 2012-03-20 12:27:19

回答

3

您需要將它作爲命令行屬性傳遞到您的JVM中。大多數應用程序容器使用環境變量JAVA_OPTS作爲應該傳遞給JVM的「永久」存儲選項。你可以嘗試做這樣的事情:

在* nix中:

export JAVA_OPTS="-Dorg.owasp.esapi.resources=/path/to/esapi/configuration" 

在Windows中:

set JAVA_OPTS="-Dorg.owasp.esapi.resources=C:\path\to\esapi\configuration" 

可以將此到Windows或Linux的啓動命令添加,它總是會如果你願意,可以設置它,或者將它添加到應用程序的啓動腳本中,以獲得更本地化的解決方案